额,一般创建随机数的对象,都是放外面,放外面的话会发生出现的随机数都是相同的。你可以试试
如果写到外面,随机数是很小几率重复的- Random r = new Random();
- int[] nums = new int[10];
- for (int i = 0; i < nums.Length; i++)
- {
- nums[i] = r.Next(0, 100);//出来的随机数是0-99的随机数
- }
- foreach (var item in nums)
- {
- Console.Write(item + " ");
- }
- Console.ReadKey();
复制代码
但你要是写到for循环里面,随机数在相同的时间内的随机数是相同的,好比下面的代码:- int[] nums = new int[10];
- for (int i = 0; i < nums.Length; i++)
- {
- Random r = new Random();
- nums[i] = r.Next(0, 100);//出来的随机数是0-99的随机数
- }
- foreach (var item in nums)
- {
- Console.Write(item + " ");
- }
- Console.ReadKey();
复制代码
这样的话,随机数都是相同的,你可以复制上去试试看。。这也是为什么叫它伪随机。。 |