private static readonly Random _shuffleRnd = new Random(); // nécessaire pour la méthode ShuffleArray
public static void ShuffleArray(object[] array)
{
int arrayLength = array.Length;
// parcours de la liste en partant de la fin
for (int i = arrayLength - 1; i > 1; --i)
{
// tirage au sort d'un index entre 0 et la valeur courante de "i"
int randomIndex = _shuffleRnd.Next(i);
// intervertion des éléments situés aux index "i" et "randomIndex"
object temp = array[i];
array[i] = array[randomIndex];
array[randomIndex] = temp;
}
}