c# - 为什么我的循环会产生相同的随机数,除非我在每次迭代结束时暂停?
问题描述
为什么这样做会产生不同的随机数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
程序暂停时对象会刷新?
解决方案
for (int index = 0; index < SIZE; index++)
{
Random rand = new Random();
numbersArray [index] = rand.Next(0, 100);
//index is not the actual random number!
MessageBox.Show(index.ToString());
}
在这段代码中,您向自己展示了数组的索引号,而不是实际的随机数,也许这就是您没有得到预期结果的原因。;)
推荐阅读
- python - 将csv文件名添加到python中的列(200个文件)
- javascript - 具有查询问题的 Firestore 事务
- c# - 504 - 连接 sage50 云帐户时出现超时错误
- c# - MS Test - 在单独的类中定义 DataRows
- android - 任务“:app:processDebugManifest”执行失败:重复
AndroidManifest.xml 中的元素 - r - 如何更改基于时间的对象的 x 轴标签
- javascript - R Leaflet:将多个组分配给一个层以过滤数据并更改表示的列
- spring - SpringData Mongo 投影忽略并覆盖保存时的值
- jsp - 使用 Scriptlet 变量调用 EL 函数
- python - 为什么我的第二个线程根本没有执行?