C# - 带种子的随机数

时间:2016-09-16 19:00:23

标签: c# random random-seed

我有这段代码:

var rand = new Random(0);
for(int i = 0; i < 100; i++)
{
  Console.WriteLine(rand.Next(0, 100));
}

程序应该给我100倍相同的数字(因为种子是相同的),但它给出了不同的数字......
为什么呢?

编辑:
什么时候我会做

for(int i = 0; i < 100; i++)
{
  Console.WriteLine(new Random(0).Next);
}

每次返回相同的数字。那意味着种子正在改变?如果有,怎么样?它在增加吗?

1 个答案:

答案 0 :(得分:10)

它不应该给你100个相同的数字,但每次重新启动应用程序时它应该给你完全相同的100个数字。

种子用于随机预测。想象多人游戏,你想要随机的东西。但是你想确保每个玩家/客户的随机行为相同。 seed是前往这里的方式。