Flatten List in LINQ
I have a LINQ query which returns IEnumerable<List<int>>
but i want to return only List<int>
so i want to merge all my record in my IEnumerable<List<int>>
to only one array.
Example :
IEnumerable<List<int>> iList = from number in
(from no in Method() select no) select number;
I want to take all my result IEnumerable<List<int>>
to only one List<int>
Hence, from source arrays:
[1,2,3,4]
and [5,6,7]
I want only one array
[1,2,3,4,5,6,7]
Thanks
Solution 1:
Try SelectMany()
var result = iList.SelectMany( i => i );
Solution 2:
With query syntax:
var values =
from inner in outer
from value in inner
select value;
Solution 3:
iList.SelectMany(x => x).ToArray()
Solution 4:
If you have a List<List<int>> k
you can do
List<int> flatList= k.SelectMany( v => v).ToList();