Heim >Backend-Entwicklung >C++ >Wie kann ich in C# eindeutige Zufallszahlen sicherstellen?

Wie kann ich in C# eindeutige Zufallszahlen sicherstellen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-05 21:17:411020Durchsuche

How Can I Ensure Unique Random Numbers in C#?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn