C# - 带种子的随机数

标签 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);
}

每次都返回相同的数字。这意味着,种子正在改变?如果是,如何?它在增加吗?

最佳答案

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

种子用于使随机可预测。想象一下您希望某些东西是随机的多人游戏。但是你想确保这个随机数对每个玩家/客户的行为都是一样的。 seed 是前往此处的方式。

关于C# - 带种子的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39538479/

相关文章:

c# - 本地测试 web api 时出现 404 not found 错误

c# - 如何将Breeze与通用工作单元和存储库一起使用?

linux - random() 在 Linux 中函数相同的值(同时 grof ing)

R-具有预定义的最小值,最大值,平均值和sd值的随机分布

r - R中相同的种子,不同的操作系统,不同的随机数

c# - 谁能告诉我为什么在 LINQ 中会发生这种情况?

c# - 仅包含可序列化对象的字典

java - 如何在 Java 中生成随机图像

python - Python中numpy.random和random.random的区别

java - 数组运行,但编译时没有给出正确的值?