Bonjour,
Soit le code suivant
La première boucle foreach parcourt chacun des resultats obtenus par la requête GroupBy et recupère la clé. ok.
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 static string[] strings = new [] { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; public static void Sample7() { // use GroupBy() to construct group partitions out of similar elements var q = strings.GroupBy(s => s[0]); // <- group by first character of each string //g est l'élément result du group by foreach(var g in q) { Console.WriteLine("Group: {0}", g.Key); foreach(string v in g) { Console.WriteLine("\tValue: {0}", v); } } }
Chaque resultat comprend un tableau de type string nommé elements (voir imp ecran ci-jointe) avec les valeurs du tableau strings associés à chaque clé, par le GroupBy
Pourquoi ne peut on pas ecrire, dans la 2ème boucle foreach
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 foreach(string v in g.elements) { Console.WriteLine("\tValue: {0}", v); }
au lieu du code
ce qui paraît plus logique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 foreach(string v in g) { Console.WriteLine("\tValue: {0}", v); }
Merci beaucoup de votre aide!
Bien cordialement.
new_wave
Partager