考虑这个方法:为什么Random.Next()总是返回相同数量的
private static int GenerateRandomNumber(int seed, int max)
{
return new Random(seed).Next(max);
}
在我的机器,执行这个循环通过1500次迭代产生相同数量:
for (int i = 0; i < 1501; i++)
{
int random = GenerateRandomNumber(100000000, 999999999);
Console.WriteLine(random.ToString());
Console.ReadKey();
}
我得到145156561,每一次迭代。
我没有紧迫的问题,我只是好奇这种行为,因为.Next(max)说:“返回一个非负数随机数字小于指定的最大值也许我不理解的东西基本。
这正是'seed'的意思。 – SLaks 2011-03-10 19:01:46
我现在明白了。我只是认为它至少通过智能感知呈现的方式并不那么明显。 – kd7 2011-03-10 19:03:51