Heim >Backend-Entwicklung >C++ >Wie kann ich in C# eindeutige Zufallszahlen sicherstellen?
Seeding einer Zufallsklasse für eindeutige Werte
In Ihrem Code haben Sie eine statische Instanz der Random-Klasse, die eine Folge von generiert Zufallszahlen. Es tritt jedoch ein Problem auf, bei dem dieselbe randomNumber innerhalb einer Schleife wiederholt abgerufen wird. Dies liegt daran, dass die Random-Klasse standardmäßig mit einem festen Startwert initialisiert wird, was zu vorhersehbaren Werten führt.
Um dieses Problem zu lösen, müssen Sie die Random-Klasse mit einem zufälligen oder eindeutigen Wert initialisieren. Ein effektiver Ansatz ist die Verwendung der GetHashCode()-Methode der Guid-Klasse:
Random rand = new Random(Guid.NewGuid().GetHashCode());
Die Guid-Klasse generiert einen global eindeutigen Bezeichner (GUID), der als Startwert für die Random-Klasse dienen kann. Die GetHashCode()-Methode stellt einen Hash-Code der GUID bereit und sorgt so für einen anderen Startwert bei jedem Aufruf.
Mit diesem Ansatz generiert die Random-Klasse eine Folge wirklich zufälliger Zahlen, sogar innerhalb einer Schleife, wodurch Duplikate vermieden werden randomNumber-Werte.
Das obige ist der detaillierte Inhalt vonWie kann ich in C# eindeutige Zufallszahlen sicherstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!