ホームページ >バックエンド開発 >C++ >LINQ で入れ子になった IEnumerable をフラット化するにはどうすればよいですか?

LINQ で入れ子になった IEnumerable をフラット化するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-26 15:51:09941ブラウズ

How Can I Flatten a Nested IEnumerable in LINQ?

IENUMERABLE

Linqでは、ネストされたIENumerableのケースに遭遇する可能性があり、単一のマージのIENUMERATIONを取得するには「平ら」にする必要があります。内部のIENUMERATIONに、外部IENUMERABLEと同じタイプの要素が含まれている場合、フラットプロセスが必要になります。

ケーススタディ:

提供されている例を検討してください: この例では、IlistはネストされたIENUMERATIONを表し、それぞれがリスト

です。目標は、これらすべてのネストされたリストを単一のリスト

にマージすることです。

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

ソリューション:selectmany() linqは、selectmany()メソッドを提供します。これは、平坦化のienumerableコレクションを表示するために特別に使用されます。それは外部の不juを横断し、各内部セット要素を新しいienumerableに投影しました。 必要な結果を取得するには、selectmany():

を使用できます。

このコードでは、SelectionMany()メソッドはILIST(Variable Iで表される)に含まれる各リストを取得し、リストの要素をInumerable Damed Resultという名前の新しい展示に接続します。 例:

この展覧会のフラットを通じて、元のネストされたアレイ[1,2,3,4]と[5,6,7]は、予想どおりに単一の配列に結合されます[1,2,3,4,5,6 、7]。

以上がLINQ で入れ子になった IEnumerable をフラット化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。