Avatar ·

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

Bonjour à tous ! Je suis un développeur C# débutant et j'ai un problème. J'ai besoin de mélanger aléatoirement les éléments d'une liste `List`. Je développe une application pour un jeu de cartes et je dois battre le paquet de cartes. J'ai une liste `List deck` que je remplis avec des cartes. J'ai essayé d'utiliser `Random`, mais je n'arrive pas à mélanger correctement les éléments. Voici mon code actuel : ```csharp List numbers = new List { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; Random rnd = new Random(); // Ma tentative de mélange for (int i = 0; i < numbers.Count; i++) { int randomIndex = rnd.Next(numbers.Count); numbers[i] = numbers[randomIndex]; // Cela copie juste la valeur, au lieu d'échanger } ``` Je comprends que ce code est incorrect — je perds les valeurs des éléments au lieu de les échanger. Pouvez-vous m'indiquer comment implémenter correctement le mélange d'une liste ? Idéalement de manière simple et efficace. Merci ! *P.S. J'ai entendu parler de l'algorithme de Fisher-Yates, mais je ne suis pas sûr.*