IEnumerable< IEnumerable< Foo>>を減らすにはどうすればよいですか? IEnumerable< Foo>へ?
-
05-07-2019 - |
質問
奇妙なキャプションはごめんなさい。私が達成しようとしているのは簡単です:
IEnumerable<IEnumerable<Foo>> listoflist;
IEnumerable<Foo> combined = listoflist.CombineStuff();
例:
{{0, 1}, {2, 3}} => {0, 1, 2, 3}
これにはLinq式があります...
補足:リストは大きい場合があります。
解決
leppieが言うように、 Enumerable.SelectMany
が必要です。 。最も単純な形式は次のとおりです。
combined = listOfList.SelectMany(x => x);
クエリ式では、複数の from
句がある場合に SelectMany
が呼び出されるため、代替手段は次のようになります。
combined = from x in listOfList
from y in x
select y;
他のヒント
SelectMany()
OK
所属していません StackOverflow