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

Wie generiert man sechs eindeutige Zufallslotteriezahlen in C#?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-12 13:41:42494Durchsuche

How to Generate Six Unique Random Lottery Numbers in C#?

C#-Lotterieprogramm: Generieren Sie eindeutige Zufallszahlen

Frage:

Wie schreibe ich ein Programm, um sechs eindeutige Lottozahlen zu generieren und sicherzustellen, dass es keine doppelten Zahlen in einer Reihe gibt?

Anfängliches Code-Snippet:

<code class="language-csharp">// 使用随机数对象生成6个随机数

int randomNumber1 = random.Next(1, 49);
int randomNumber2 = random.Next(1, 49);
int randomNumber3 = random.Next(1, 49);
int randomNumber4 = random.Next(1, 49);
int randomNumber5 = random.Next(1, 49);
int randomNumber6 = random.Next(1, 49);

textBox1.Text = randomNumber1.ToString();
textBox2.Text = randomNumber2.ToString();
textBox3.Text = randomNumber3.ToString();
textBox4.Text = randomNumber4.ToString();
textBox5.Text = randomNumber5.ToString();
textBox6.Text = randomNumber6.ToString();</code>

Frage:

Der anfängliche Codeausschnitt kann Zufallszahlen generieren, es können jedoch doppelte Zahlen in derselben Zeile vorhanden sein.

Lösung:

Um eindeutige Zufallszahlen zu generieren, müssen wir die generierten Zahlen in einer Sammlung speichern und prüfen, ob jede neue Zufallszahl bereits existiert. Werden Duplikate gefunden, wird eine neue Zufallszahl generiert, bis eine eindeutige Zahl gefunden wird.

Alternativ können wir einen effizienteren Ansatz verwenden: Erzeugen Sie eine Zahlenfolge zwischen 1 und 49, mischen Sie sie mit den Methoden OrderBy und rnd.Next() und wählen Sie dann aus der gemischten Folge die ersten sechs Zahlen aus.

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

Das obige ist der detaillierte Inhalt vonWie generiert man sechs eindeutige Zufallslotteriezahlen in C#?. 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