能
System.Random(Int32).Next(minValue, maxValue) ;
用作一种线性同余生成器?
所以,答案是否定的。因为 Random() 在 .NET 中随版本而变化。我不能使用 Random(Int32).Next(minValue, maxValue) 作为一种线性同余生成器。啊!
是的,System.Random 在给定相同种子和边界的情况下将始终给出相同的下一个值,常数是您可以选择提供的种子。因此,您不想像您的行那样每次调用 Next() 时都更改种子,而是:
var myRandom = new Random(mySeed);
var value = myRandom.Next(minValue, maxValue);
var anotherValue = myRandom.Next(minValue, maxValue);
...