【发布时间】:2018-11-26 03:44:26
【问题描述】:
为什么这会起作用并根据SIZE 产生不同的随机数?
for (int index = 0; index < SIZE; index++)
{
Random rand = new Random();
numbersArray [index] = rand.Next(0, 100);
MessageBox.Show(index.ToString());
}
然而这会产生与SIZE 相同的数字?
for (int index = 0; index < SIZE; index++)
{
Random rand = new Random();
numbersArray [index] = rand.Next(0, 100);
}
我唯一的猜测是当程序暂停时Random 对象会被刷新?
【问题讨论】:
-
当问这样的问题时,向我们展示你的输出是什么(或者至少是它的样子)很有用。您的第一个输出应该类似于
0, 1, 2, …(在消息框中!)。你的第二个应该是随机的,但谁知道,你正在一个非常紧密的循环中创建 System.Random 的新实例。对于它的价值,您可以使用Debug.WriteLine从 Windows 窗体应用程序输出有点分类的控制台输入(它将显示在输出窗格中) -
在发布问题之前查阅文档总是有帮助的。这个问题在documentation