Heim > Backend-Entwicklung > C++ > Wie generiert man sechs eindeutige Zufallszahlen in C#?

Wie generiert man sechs eindeutige Zufallszahlen in C#?

DDD
Freigeben: 2025-01-12 13:37:46
Original
889 Leute haben es durchsucht

How to Generate Six Unique Random Numbers in C#?

Duplizierung vermeiden: C#-Zufallszahlengenerator

Ihr Code ist so konzipiert, dass er sechs Zufallszahlen zwischen 1 und 49 generiert. Allerdings können diese Zahlen Duplikate enthalten, was in einem lotterieähnlichen Szenario nicht akzeptabel ist. Um dieses Problem zu lösen, werden wir einen effizienten Weg zur Generierung eindeutiger Zufallszahlen in C# untersuchen.

Lösung:

Speichern Sie die generierten Zahlen in einer Sammlung. Überprüfen Sie jedes Mal, wenn eine neue Nummer generiert wird, ob diese bereits im Set vorhanden ist. Falls vorhanden, fahren Sie mit der Generierung einer weiteren Nummer fort, bis Sie eine eindeutige Nummer gefunden haben.

Hier ist eine modifizierte Version Ihres Codes, die diese Lösung implementiert:

<code class="language-csharp">var randomNumbers = new List<int>();
var random = new Random();

while (randomNumbers.Count < 6)
{
    int randomNumber = random.Next(1, 50); // 生成1到49之间的随机数
    if (!randomNumbers.Contains(randomNumber))
    {
        randomNumbers.Add(randomNumber);
    }
}</code>
Nach dem Login kopieren

Alternativ können wir die folgende Strategie verfolgen:

Mischen Sie den Stapel und wählen Sie die Methode:

  1. Erstellen Sie eine Zahlenfolge von 1 bis 49.
  2. Mischen Sie die Sequenz mithilfe einer Zufallsfunktion.
  3. Wählen Sie die ersten sechs Zahlen aus der gemischten Reihenfolge aus.

Hier ist der Code für diesen Ansatz:

<code class="language-csharp">var rnd = new Random();
var randomNumbers = Enumerable.Range(1, 49).OrderBy(x => rnd.Next()).Take(6).ToList();</code>
Nach dem Login kopieren

Dieser Ansatz garantiert die Generierung eindeutiger Zufallszahlen, ohne dass benutzerdefinierte Schleifen oder zusätzliche Prüfungen auf Duplikate erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie generiert man sechs eindeutige Zufallszahlen in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage