1

 System.Random(Int32).Next(minValue, maxValue) ;

用作一种线性同余生成器?

4

2 回答 2

1

所以,答案是否定的。因为 Random() 在 .NET 中随版本而变化。我不能使用 Random(Int32).Next(minValue, maxValue) 作为一种线性同余生成器。啊!

于 2013-11-15T02:53:09.667 回答
0

是的,System.Random 在给定相同种子和边界的情况下将始终给出相同的下一个值,常数是您可以选择提供的种子。因此,您不想像您的行那样每次调用 Next() 时都更改种子,而是:

var myRandom = new Random(mySeed);
var value = myRandom.Next(minValue, maxValue);
var anotherValue = myRandom.Next(minValue, maxValue);
...
于 2013-11-15T01:20:34.147 回答