Maison >développement back-end >C++ >Comment générer six numéros de loterie aléatoires uniques en C# ?

Comment générer six numéros de loterie aléatoires uniques en C# ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-12 13:41:42456parcourir

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

Programme de loterie C# : générer des nombres aléatoires uniques

Question :

Comment écrire un programme pour générer six numéros de loterie uniques, en garantissant qu'il n'y a pas de numéros en double dans une rangée ?

Extrait de code initial :

<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>

Question :

L'extrait de code initial peut générer des nombres aléatoires, mais il peut y avoir des nombres en double dans la même ligne.

Solution :

Afin de générer des nombres aléatoires uniques, nous devons stocker les nombres générés dans une collection et vérifier si chaque nouveau nombre aléatoire existe déjà. Si des doublons sont trouvés, un nouveau nombre aléatoire est généré jusqu'à ce qu'un numéro unique soit trouvé.

Alternativement, nous pouvons utiliser une approche plus efficace : générer une séquence de nombres entre 1 et 49, la mélanger à l'aide des méthodes OrderBy et rnd.Next(), puis sélectionner les six premiers nombres dans la séquence mélangée.

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn