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