也许对此有一个非常合乎逻辑的解释,但我似乎无法理解为什么使用 .NET 的Random Class (System)0
种子并2,147,483,647
产生相同的“随机”序列。
快速代码示例:
var random1 = new Random(0);
var random2 = new Random(1);
var random3 = new Random(int.MaxValue); //2,147,483,647
var buffer1 = new byte[8];
var buffer2 = new byte[8];
var buffer3 = new byte[8];
random1.NextBytes(buffer1);
random2.NextBytes(buffer2);
random3.NextBytes(buffer3);
for (int i = 0; i < 8; i++)
{
Console.WriteLine("{0}\t\t{1}\t\t{2}", buffer1[i], buffer2[i], buffer3[i]);
}
输出:
26 70 26
12 208 12
70 134 76
111 130 111
93 64 93
117 151 115
228 228 228
216 163 216
如您所见,第一个和第三个序列是相同的。有人可以向我解释一下吗?
编辑:显然,正如 alro 指出的那样,这些序列不一样。但它们非常相似。