IEnumerable<IEnumerable<T>>
をIEnumerable<T>
に融合できるようにしたいと思います(つまり、すべての個々のコレクションを1つにマージします)。 Union
演算子は、2つのコレクションにのみ適用されます。何か案が?
試してみてください
var it = GetTheNestedCase();
return it.SelectMany(x => x);
SelectManyは、基本的に「コレクション内の各アイテムに対してコレクションの要素を返す」というLINQ変換です。 1つの要素を多数に変換します(したがって、SelectMany)。コレクションのコレクションをフラットリストに分割するのに最適です。
var lists = GetTheNestedCase();
return
from list in lists
from element in list
select element;
これは、C#3.0クエリ式構文を使用してこれを行う別の方法です。