Bonjour,

Voici 2 méthodes, le but est de "multiplier" une liste n fois. La première méthode multiplie 2 fois ma liste alors que l'autre méthode multiplie 3 fois la liste.
J'aimerai réussir à trouver une écriture permettant d'utiliser mon paramètre int aNombreCaractere afin d'avoir une seule méthode qui s'appelle récursivement n fois en fonction du paramètre ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
        public static System.Collections.IEnumerable MultiplyCaractere(int aNombreCaractere)
        {
            String locale = null;
 
            foreach (String item1 in GetAllCaractere())
            {
                foreach (String item2 in GetAllCaractere())
                {
                    locale = String.Format("{0}{1}", item1, item2);
                    yield return locale;
                }
            }
        }
 
        public static System.Collections.IEnumerable MultiplyCaractere3(int aNombreCaractere)
        {
            String locale = null;
 
            foreach (String item1 in GetAllCaractere())
            {
                foreach (String item2 in GetAllCaractere())
                {
                    foreach (String item3 in GetAllCaractere())
                    {
                        locale = item1 + item2 + item3;
                        yield return locale;
                    }
                }
            }
        }
À priori, ici c'est le yield return qui me pose problème, et je ne sais pas comment m'en sortir, si vous avez des idées ?

Merci beaucoup