0
for (int i = 1; i <= 55; i++)
{
System.Random myRandom = new System.Random();
//int myInt; 3 lines just alternate method
//myInt = myRandom.Next();
//System.Console.WriteLine(myInt);
System.Console.WriteLine(myRandom.Next());
Thread.Sleep(15); // if less, trouble
}
我一直得到同一个数字的倍数,一次达到20个,而不是每个连续的数字不同。出于某种原因,我添加了sleep语句,并且它的值在15或更大时有效。事实上,如果你增加睡眠参数值,你可以'选择'你得到多少个连续的重复数字。设置一个范围没有区别。循环比随机数发生器更快吗?这并不严重,我正在通过“Essential C#5.0”这本书。我查看了至少50个“随机”问题,但没有一个涉及这个现象。三条注释行是做同样事情的不同方式,我没有在同一个版本中执行。C#System.Random需要睡眠才能工作
原因是你每次都创建一个新的Random实例。看到这个问题的细节:[随机数发生器只生成一个随机数](http://stackoverflow.com/questions/767999/random-number-generator-only-generating-one-random-number) – 2014-11-09 06:00:29