每次从 for 循环中调用 RandomNumber 方法时,我都尝试生成不同的随机数。现在,它每次都返回相同的数字。
这是我的 RandomNumber 方法:
private int RandomNumber(int min, int max)
{
Random random = new Random();
return random.Next(min, max);
}
这是我使用它的上下文:(这有点混乱,只是因为我一直在努力让它工作......)
for (int i = 0; i < charsRaw.Length; i++)
{
int max = charsRaw.Length - 1;
int rand = 0;
rand = RandomNumber(0, max);
charsNew[i] = charsRaw[rand];
text2 += charsNew[i];
}
我似乎无法让它在每次使用 for 循环调用时返回不同的值。
虽然,当我在 text2 += charsNew[i] 之后粘贴 MessageBox.Show(rand.ToString()) 时,它每次都会给我一个不同的值,并按我预期的方式工作。奇怪的。
谢谢!
埃里克
实例化随机一次。在同一实例上多次调用 .Next()。
MSDN:
随机数生成开始
从种子值。如果是同一个种子
重复使用,同系列
数字已生成
如果您确实希望重复实例化 Random,请每次使用不同的种子。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)