GQ08 III: mettons les choses à plat
Imaginons un tableau quelconque à deux dimensions. J'aimerais tout simplement lister l'ensemble des données sous forme d'un simple vecteur en éliminant la seconde dimension.
var values = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};
var q = ?
foreach (var i in q)
Console.WriteLine(i);
donnerait donc :
Comments
Anonymous
August 07, 2008
var q = values.SelectMany(v => v);Anonymous
August 07, 2008
Ou alors la version LINQ : var q = from vs in values from v in vs select v;Anonymous
August 07, 2008
Bravo Matthieu, En effet, chaque élément de la première dimension étant à son tour un tableau, 'SelectMany' ou les sources imbriquées de Linq résolvent naturellement cette question.