mynodeクラスで表現された次の単純なツリー構造があると仮定してください:
IENumeration
を取得し、ツリー内のすべてのノード(内部ノードを含む)のリストを単一のフラットリストとして取得したいと考えています。さらに、このリストをフィルタリングすることを望んでいます。グループ属性を持つノードのみが1に等しくなります。ツリーのような構造を表示するために、LINQのSelectmanyコンピューティングを使用して、各ノードのすべての子孫を取得できます。次のFlatten拡張法が取得され、入力要素が利用可能になり、それらの要素属性は再帰的に平坦化されます。
<code class="language-csharp">class MyNode { public MyNode Parent; public IEnumerable<MyNode> Elements; public int Group { get; set; } }</code>
グループの葉戻りのリストに従うために、Where Operatorを使用できます。
以上がLinqはどのようにしてツリー構造を平らにし、特定のプロパティでフィルタリングできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。