Avatar ·

¿Cómo mezclar aleatoriamente una lista List<T> en C#?

¡Hola a todos! Soy un desarrollador principiante de C# y tengo un problema. Necesito mezclar aleatoriamente los elementos de una lista `List`. Estoy escribiendo una aplicación para un juego de cartas y necesito barajar el mazo de cartas. Tengo una lista `List deck` que lleno con cartas. Intenté usar `Random`, pero no logro mezclar los elementos correctamente. Aquí está mi código actual: ```csharp List numbers = new List { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; Random rnd = new Random(); // Mi intento de mezclar for (int i = 0; i < numbers.Count; i++) { int randomIndex = rnd.Next(numbers.Count); numbers[i] = numbers[randomIndex]; // Esto solo copia el valor, no intercambia } ``` Entiendo que este código es incorrecto — pierdo los valores de los elementos en lugar de intercambiarlos. ¿Podrían indicarme cómo implementar correctamente la mezcla de la lista? Preferiblemente de manera simple y eficiente. ¡Gracias! *P.D. He oído hablar del algoritmo de Fisher-Yates, pero no estoy seguro.*