Aplanar lista en LINQ

Resuelto Cédric Boivin asked hace 14 años • 5 respuestas

Tengo una consulta LINQ que regresa IEnumerable<List<int>>, pero solo quiero regresar, List<int>así que quiero fusionar todos mis registros en IEnumerable<List<int>>una sola matriz.

Ejemplo :

IEnumerable<List<int>> iList = from number in
    (from no in Method() select no) select number;

quiero llevar todo mi resultado IEnumerable<List<int>>a solo unoList<int>

Por lo tanto, de las matrices fuente: [1,2,3,4]y[5,6,7]

solo quiero una matriz [1,2,3,4,5,6,7]

Gracias

Cédric Boivin avatar Oct 20 '09 02:10 Cédric Boivin
Aceptado

IntentarSelectMany()

var result = iList.SelectMany( i => i );
Mike Two avatar Oct 19 '2009 19:10 Mike Two

Con sintaxis de consulta:

var values =
from inner in outer
from value in inner
select value;
recursive avatar Oct 19 '2009 19:10 recursive
iList.SelectMany(x => x).ToArray()
Dylan Beattie avatar Oct 19 '2009 19:10 Dylan Beattie

Si tienes uno List<List<int>> kpuedes hacerlo.

List<int> flatList= k.SelectMany( v => v).ToList();
Daniel avatar Oct 19 '2009 19:10 Daniel

¿Como esto?

var iList = Method().SelectMany(n => n);
mqp avatar Oct 19 '2009 19:10 mqp