public static IEnumerable<string> GetCreditCardNumbers(this Random random, PrefixAndLength[] prefixAndLengthList, int howMany) { var result = new Stack<string>(); for (int i = 0; i < howMany; i++) { int randomPrefix = random.Next(0, prefixAndLengthList.Length - 1); var prefixAndLength = prefixAndLengthList[randomPrefix]; result.Push(CreateFakeCreditCardNumber(random, prefixAndLength.Prefix, prefixAndLength.Length)); } return result; }
/// <summary> /// Better to use extension overload with [this Random random] paramenter. See http://stackoverflow.com/questions/2706500/how-do-i-generate-a-random-int-number-in-c /// </summary> /// <param name="prefixAndLengthList"></param> /// <param name="howMany"></param> /// <returns></returns> public static IEnumerable<string> GetCreditCardNumbers(PrefixAndLength[] prefixAndLengthList, int howMany) { Random rndGen = new Random(); return GetCreditCardNumbers(rndGen, prefixAndLengthList, howMany); }