Vielleicht gibt es eine sehr logische Erklärung dafür, aber ich kann einfach nicht zu verstehen, warum die Samen 0
und 2,147,483,647
produzieren die gleiche "zufällige" Sequenz, mit .NET Random Class (System) .Zwei verschiedene Samen produzieren die gleiche "zufällige" Sequenz
Schnellcodebeispiel:
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]);
}
Ausgang:
26 70 26
12 208 12
70 134 76
111 130 111
93 64 93
117 151 115
228 228 228
216 163 216
Wie Sie sehen können, die erste und die dritte Folge sind die gleichen. Kann mir bitte jemand das erklären?
BEARBEITEN: Offenbar, wie alro wies darauf hin, sind diese Sequenzen nicht die gleichen. Aber sie sind sehr ähnlich.
Haben Sie schon eine andere beliebige Zahl ausprobiert, und wenn ja, erhalten Sie mit dieser Zahl die gleichen Ergebnisse? –
'System.Random' ist in vielerlei Hinsicht defekt. Dies ist einer von ihnen. – CodesInChaos
+1 für sehr interessante Beobachtung! – quetzalcoatl