Rendre une méthode récursive avec Yield return
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:
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