Avatar ·

Comment mélanger aléatoirement une liste List<T> en C# ?

Bonjour à tous ! Je suis débutant en C# et j'écris une petite application pour un jeu de cartes. J'ai une liste (List) qui contient un paquet de cartes. J'ai besoin de mélanger ces cartes aléatoirement avant la distribution, mais je ne trouve pas de méthode intégrée comme List.Shuffle(). Voici mon code : ```csharp List deck = new List(); // ... remplir le paquet avec des cartes ... // Comment mélanger maintenant ? J'ai essayé : deck.OrderBy(x => random.Next()).ToList(); // Mais cela retourne une nouvelle liste, ne modifie pas l'originale ``` Le problème est que je veux modifier la liste originale deck, pas en créer une nouvelle. De plus, j'ai lu que l'utilisation de Random avec OrderBy peut donner une distribution inégale ou même des exceptions si random.Next() retourne des valeurs identiques pour plusieurs éléments. Veuillez me dire comment mélanger correctement et efficacement un List sur place ? De préférence avec un exemple de code. Merci d'avance ! <<>>

Meilleure méthode : l'algorithme de Fisher-Yates (Knuth shuffle)

Le plus