これには非常に論理的な説明があるかもしれませんが、.NETのランダムクラス(システム)を使用して、シードが同じ「ランダム」シーケンス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
ご覧のとおり、最初と3番目のシーケンスは同じです。誰かが私にこれを説明してもらえますか?
編集:どうやら、alroが指摘したように、これらのシーケンスは同じではありません。しかし、それらは非常に似ています。