Boucles foreach imbriquées

Résolu
Nawalll Messages postés 10 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 2 avril 2008 - 13 juil. 2007 à 19:46
Nawalll Messages postés 10 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 2 avril 2008 - 16 juil. 2007 à 17:33
Bonjour tout le monde,


J'ai un problème qui me rend dingue!!!


voici mon programme:


Code :


    ArrayList petiteliste=new ArrayList ();
    ArrayList grandeliste=new ArrayList();  
    for(int i=0;i<3;i++) 
    { 
         for(int j=0;j<2;j++) 
            {
                petiteliste.Add(j); 
            } 
            grandeliste.Add(petiteliste); 
   }
   
   string chaine="";   
   foreach(ArrayList pl in grandeliste)
  { 
      foreach(int elm in pl) 
         { 
               chaine=chaine+""+elm.ToString(); 
        }
  }   




Quand j'affiche ma chaine voici le resultat que j'obtiens:


0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Je m'attendais à 0 1 0 1 0 1 0 c'est à dire les 6 elements de mon grand ArrayList!


Est ce que quelqu'un trouve ça illogique???


Merci de m'aider
A voir également:

2 réponses

Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
13 juil. 2007 à 22:40
Salut,
C'est normal, tu ne réinitialise pas ta petite liste entre chaque ajout. Elle contient donc 2 éléments la première fois, puis 4, puis 6 etc... Crées en une nouvelle à chaque fois :

    for(int i=0;i<3;i++) 
    {
         petiteliste = new ArrayList();
         for(int j=0;j<2;j++) 
            {
                petiteliste.Add(j); 
            } 
            grandeliste.Add(petiteliste); 
   }

Julien.
3
Nawalll Messages postés 10 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 2 avril 2008
16 juil. 2007 à 17:33
Merci infiniment!
Ouhhh j'ai pas fait attention à cela, je croyais que mon problème se situe dans l'affichage et pas l'ajout!!
Mnt mon programme marche très très bien  
Thx,
0
Rejoignez-nous