Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# simple方法仅适用于messagebox_C# - Fatal编程技术网

C# simple方法仅适用于messagebox

C# simple方法仅适用于messagebox,c#,C#,我有一些非常奇怪的行为,请帮帮我 我在遍历一个对象数组,particiate属性是bool。该方法随机分配给每个人一个正确或错误(现在50/50)。 由于代码是现在,所有五个人要么都是真的,要么都是假的。 当消息框被启用时,代码正常工作(每个人都会得到一个真或假,不尽相同) for(int i=0;i50) { joinBool=false; } 返回joinBool; } 随机数生成器的工作原理是根据当前时钟时间默认设置种子值。没有MessageBox,代码运行速度非常快,所有随机实例都具有相

我有一些非常奇怪的行为,请帮帮我

我在遍历一个对象数组,particiate属性是bool。该方法随机分配给每个人一个正确或错误(现在50/50)。 由于代码是现在,所有五个人要么都是真的,要么都是假的。 当消息框被启用时,代码正常工作(每个人都会得到一个真或假,不尽相同)

for(int i=0;i<5;i++)
{
//其他代码被删除,如果它对问题很重要,我将添加它
person[i].particiate=doesPersonJoin();
}
公共bool doesPersonJoin()
{
bool joinBool=true;
随机rnd=新随机();
int r=rnd.Next(1100);
//Show(r.ToString());
如果(r>50)
{
joinBool=false;
}
返回joinBool;
}

随机数生成器的工作原理是根据当前时钟时间默认设置种子值。没有MessageBox,代码运行速度非常快,所有随机实例都具有相同的种子,因此在调用
.Next()
时产生相同的值


要解决这个问题,您应该创建一个可以在整个程序中使用的随机实例,或者至少创建一个在该类中使用的实例(可能是静态的)。

doesPersonJoin
外部声明和初始化
rnd
时会发生什么!非常感谢!在剩下的时间里,请记住这一点,因为您将在其他形式中再次看到它——“如果在调试器中缓慢地通过某个对象时该对象工作,但在生产中以全速失败,那么您的第一个怀疑应该是与时间相关的问题。”