Random用于获取一个范围内随机数,但是在无意中发现这个所谓的random并不是真的就那么随机。所以将这个问题贴出来,大家一起探讨,大家踊跃发表看法。首先贴个程序:
static void Main()
{
for (int i = 0; i < 100; i++)
{
Random random = new Random();
int a = random.Next(1, 100); //if (a >= 80)
// Console.BackgroundColor = ConsoleColor.Green;
//else
// Console.BackgroundColor = ConsoleColor.Red; Console.Write(DateTime.Now.ToString()+"_____");
Console.WriteLine(a.ToString());
System.Threading.Thread.Sleep(9000);
}
Console.Read();
}
大家可以自行运行一下,我贴出我的结果:
大家可以发现基本上每隔9秒后,出现的随机数是上一个随机数减掉17后所得到的结果。
是何缘故?难道这是设计者有意而为之?请诸君发表各自看法。
static void Main()
{
for (int i = 0; i < 100; i++)
{
Random random = new Random();
int a = random.Next(1, 100); //if (a >= 80)
// Console.BackgroundColor = ConsoleColor.Green;
//else
// Console.BackgroundColor = ConsoleColor.Red; Console.Write(DateTime.Now.ToString()+"_____");
Console.WriteLine(a.ToString());
System.Threading.Thread.Sleep(9000);
}
Console.Read();
}
大家可以自行运行一下,我贴出我的结果:
大家可以发现基本上每隔9秒后,出现的随机数是上一个随机数减掉17后所得到的结果。
是何缘故?难道这是设计者有意而为之?请诸君发表各自看法。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货