51

を融合できるようにしたいと思いますIEnumerable<IEnumerable<T>>IEnumerable<T>つまり、個々のコレクションをすべて1つにマージします)。演算子はUnion2 つのコレクションにのみ適用されます。何か案が?

4

2 に答える 2

93

試す

var it = GetTheNestedCase();
return it.SelectMany(x => x);

SelectMany は、基本的に「コレクション内の各項目に対してコレクションの要素を返す」という LINQ 変換です。1 つの要素を多数に変換します (したがって、SelectMany)。コレクションのコレクションをフラットなリストに分割するのに最適です。

于 2008-11-26T16:05:45.733 に答える
14
var lists = GetTheNestedCase();
return
    from list in lists
    from element in list
    select element;

C# 3.0 クエリ式構文を使用してこれを行う別の方法です。

于 2009-04-21T21:33:00.070 に答える