时间:2021-07-01 10:21:17 帮助过:13人阅读
输出的数字终于随机了,而且15毫秒以上的暂停才会正常,如果只暂停1毫秒的话,会规律地出现连续5-6个一样的随机数,如果改成5毫秒的暂停的话,这种重复产生一样随机数的概率变成2-3个!
- <br><span><u></u></span> 代码如下:<br>namespace RandomTest <br>{ <br>class Program <br>{ <br>static void Main(string[] args) <br>{ <br>for (int i = 0; i < 100; i++) <br>{ <br>Random d = new Random(); <br>Console.WriteLine(d.Next(100)); <br>} <br>} <br>} <br>} <br><br>理论上而言,这个程序会产生100个不同的0~100的整数,而实际情况却是除了第一个数字不同外,剩余99个数字会产生随机的99个相同的数字!而在中间加入调试点或者用MessageBox.show()的方式却能正确的得到100个不同的随机数! <br><br>为什么这样?难道要暂停一下子?于是修改代码: <br><span><u></u></span> 代码如下:<br>namespace RandomTest <br>{ <br>class Program <br>{ <br>static void Main(string[] args) <br>{ <br>for (int i = 0; i < 100; i++) <br>{ <br>Random d = new Random(); <br>Thread.Sleep(15); <br>Console.WriteLine(d.Next(100)); <br>} <br>} <br>} <br>} <br><br>再次运行后,