C#系统。Random需要睡眠才能工作 for(int i=1;i
问题在于这一行:C#系统。Random需要睡眠才能工作 for(int i=1;i,c#,random,C#,Random,问题在于这一行: 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.
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
}
它应该在for循环之外。为什么?因为它会根据计时信息生成一个随机种子,当您一个接一个地创建它们时,它们都会得到相同的种子。当您使线程在迭代之间休眠时,时间会发生足够的变化,以便下一个random
获得不同的种子值
请尝试以下方法:
System.Random myRandom = new System.Random();
System.Random myRandom=new System.Random();
对于(int i=1;i),原因是您每次都在创建一个新的Random实例。有关详细信息,请参阅此问题:
System.Random myRandom = new System.Random();
for(int i = 1; i <= 55; i++)
{
// Here be the rest of the code
}