C'est une question qui revient de temps sur les forums.
 
Comment mélanger un tableau en .net ?
L'idée est très simple, on va se servir de l'interface IComparer pour utiliser la méthode Sort de l'objet Array. Ainsi, pas besoin d'écrire d'algorithme complexe.
 
public class Melangeur : IComparer {
   private static Random rnd;
      
static Melangeur() {
         rnd =
new Random();
   }

   public int Compare(object x, object y) {
      if (x.Equals(y))
         return 0;
      else {
         return Melangeur.rnd.Next(-1, 1);
      }
   }   
}

Comme vous pouvez le voir, la méthode Compare retourne soit 0 si x et y sont égaux, soit un entier aléatoire compris entre -1 et 1, soit -1; 0; 1.

Puis il nous reste plus qu'à l'utiliser

int[] toto = new int[16];
Array.Sort(toto, new Melangeur());

Simple non ?

Simple non ?

Lien sur le forum : http://www.csharpfr.com/infomsg/MELANGER-TABLEAU-ENTIER-OU-AUTRE-1_668173.aspx