指定随机数的输出
主程序入口:
namespace RandomNumber { class Program { static void Main(string[] args) { Console.WriteLine("采摘0-100之间不重复数:"); Console.WriteLine(); RandomSetOfNumber rdm = new RandomSetOfNumber(0, 100); string str = string.Empty; for (int i = 0; i < 100; i++) { str += rdm.Next().ToString() + " "; } Console.WriteLine(str); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("采摘一组指定随机数( 1,9, 13, 50 and 99):"); Console.WriteLine(); RandomSetOfNumber rdm1 = new RandomSetOfNumber(); rdm1.SetOfNumbers.Add(1); rdm1.SetOfNumbers.Add(9); rdm1.SetOfNumbers.Add(13); rdm1.SetOfNumbers.Add(99); rdm1.SetOfNumbers.Add(50); string str1 = string.Empty; for (int i = 0; i < 5; i++) { str1 += rdm1.Next().ToString() + " "; } Console.WriteLine(str1); Console.ReadLine(); } } }
RandomSetOfNumber类:
namespace RandomNumber { class RandomSetOfNumber { List<int> _setOfNumbers = new List<int>(); public List<int> SetOfNumbers { get { return _setOfNumbers; } set { _setOfNumbers = value; } } Random _random = new Random(); public RandomSetOfNumber() { } public RandomSetOfNumber(int min, int max) { for (int i = min; i <= max; i++) { _setOfNumbers.Add(i); } } public int Next() { if (_setOfNumbers.Count > 0) { int nextNumberIndex = _random.Next(_setOfNumbers.Count); int val = _setOfNumbers[nextNumberIndex]; _setOfNumbers.RemoveAt(nextNumberIndex); return val; } return -1; } } }