Heim >Backend-Entwicklung >C++ >Warum gibt Random.Next identische Werte für verschiedene Instanzen zurück?
Inkonsistenzen für Zufällige Zahlengenerierung: identische Random.Next
Ausgänge
Dieser Artikel befasst sich mit einem gemeinsamen Problem in C#, wobei mehrere Instanzen einer Klasse, die jeweils Random.Next()
verwenden, die gleiche Folge von Zufallszahlen erzeugen. Dieses scheinbar widersprüchliche Verhalten tritt auf
Random
Die Ursache ist der Standard -Seeding -Mechanismus der
Objekte in einem sehr kurzen Zeitrahmen erstellt werden, erhalten sie nahezu identische Saatgutwerte, was zu identischen "zufälligen" Zahlensequenzen führt. Random
Random
Die Lösung ist unkompliziert: Anstatt für jede Instanz ein neues
Objekt und verwenden Sie es über alle Instanzen hinweg. Diese einzelne Instanz erzeugt eine eindeutige Folge von Zufallszahlen und löst das Problem identischer Ausgänge auf. Übergeben Sie dieses gemeinsame Random
-Objekt als Parameter an den Konstruktor der Klasse. Random
Das obige ist der detaillierte Inhalt vonWarum gibt Random.Next identische Werte für verschiedene Instanzen zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!