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

Comment générer six nombres aléatoires uniques en C# ?

DDD
Libérer: 2025-01-12 13:37:46
original
892 Les gens l'ont consulté

How to Generate Six Unique Random Numbers in C#?

Éviter la duplication : générateur de nombres aléatoires C#

Votre code est conçu pour générer six nombres aléatoires compris entre 1 et 49. Cependant, ces numéros peuvent contenir des doublons, ce qui est inacceptable dans un scénario de type loterie. Pour résoudre ce problème, nous explorerons un moyen efficace de générer des nombres aléatoires uniques en C#.

Solution :

Stockez les numéros générés dans une collection. Chaque fois qu'un nouveau numéro est généré, vérifiez s'il existe déjà dans l'ensemble. S'il existe, continuez à générer un autre numéro jusqu'à ce que vous trouviez un numéro unique.

Voici une version modifiée de votre code qui implémente cette solution :

<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>
Copier après la connexion

Alternativement, nous pouvons adopter la stratégie suivante :

Mélangez le jeu et choisissez la méthode :

  1. Créez une séquence de nombres de 1 à 49.
  2. Mélangez la séquence à l'aide d'une fonction aléatoire.
  3. Sélectionnez les six premiers nombres de la séquence mélangée.

Voici le code de cette approche :

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

Cette approche garantit la génération de nombres aléatoires uniques sans avoir besoin de boucles personnalisées ou de vérifications supplémentaires des doublons.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal