C# Random.Next() 生成了相同的数字

C#生成随机数,循环四次,但是每次发现生成的数字都是一样的:

for (int i = 0; i < 4; i++ )
{
    str += new Random().Next(0, 9);//生成随机数范围0-9
}

网上查到了原因,修改如下,不要在每次循环中都新建一个Random,而应该把它拿出来,放在全局:

Random rd = new Random();

for (int i = 0; i < 4; i++ )
{
    str += rd.Next(0, 9);//生成随机数范围0-9
}

问题解决。

参考:https://stackoverflow.com/questions/1654887/random-next-returns-always-the-same-values

你可能感兴趣的:(Windows桌面开发)