Boucles foreach imbriquées [Résolu]

Nawalll 10 Messages postés vendredi 29 juin 2007Date d'inscription 2 avril 2008 Dernière intervention - 13 juil. 2007 à 19:46 - Dernière réponse : Nawalll 10 Messages postés vendredi 29 juin 2007Date d'inscription 2 avril 2008 Dernière intervention
- 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
Afficher la suite 

2 réponses

Répondre au sujet
Julien237 884 Messages postés vendredi 3 novembre 2000Date d'inscription 3 mars 2009 Dernière intervention - 13 juil. 2007 à 22:40
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Julien237
Nawalll 10 Messages postés vendredi 29 juin 2007Date d'inscription 2 avril 2008 Dernière intervention - 16 juil. 2007 à 17:33
0
Utile
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,
Commenter la réponse de Nawalll

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.