LINQ を効率的に使用して配列サブセット間の関係を判断する
配列が別の配列のサブセットであるかどうかを判断することは、一般的なプログラミング タスクです。ここで、サブセットとは、すべての要素が親配列に存在するセットを指します。この関係は、LINQ (言語統合クエリ) の機能を使用して効率的に判断できます。
2 つのリストがあるとします:
<code>List<double> t1 = new List<double> { 1, 3, 5 }; List<double> t2 = new List<double> { 1, 5 };</code>
私たちの目標は、LINQ を使用して t2 が t1 のサブセットであるかどうかを判断することです。
これを行うには、Except
演算子を使用して、t2 に存在しない t1 の要素を除外します。結果のリストが空の場合は、t2 のすべての要素が t1 に存在することを意味し、t2 が実際に t1 のサブセットであることを示します。
次の LINQ 式は、このロジックをカプセル化します。
<code>bool isSubset = !t2.Except(t1).Any();</code>
isSubset
の値がtrue
の場合、t2がt1のサブセットであることが確認されます。逆に、isSubset
が false
の場合、t2 は t1 のサブセットではありません。
この例では、t2 のすべての要素 (つまり 1 と 5) が t1 にも存在するため、Except
演算は空のリストを生成し、式は true
と評価されるため、t2 がサブセットであることが確認されます。 t1の。
以上がLINQ は、ある配列が別の配列のサブセットであるかどうかを効率的に判断するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。