web-dev-qa-db-ja.com

LINQでリストをフラット化

IEnumerable<List<int>>を返すLINQクエリがありますが、List<int>のみを返したいので、IEnumerable<List<int>>内のすべてのレコードを1つの配列のみにマージします。

例:

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

すべての結果IEnumerable<List<int>>を1つだけList<int>にしたい

したがって、ソース配列から:[1,2,3,4]および[5,6,7]

配列が1つだけ必要です[1,2,3,4,5,6,7]

ありがとう

279
Cédric Boivin

SelectMany() を試してください

var result = iList.SelectMany( i => i );
510
Mike Two

クエリ構文の場合:

var values =
from inner in outer
from value in inner
select value;
80
recursive
iList.SelectMany(x => x).ToArray()
22
Dylan Beattie

このような?

var iList = Method().SelectMany(n => n);
11
mqp

List<List<int>> kがあれば

List<int> flatList= k.SelectMany( v => v).ToList();
10
Daniel