LINQ を使用して配列サブセット間の関係を決定します
配列またはリストを扱う場合、ある配列が別の配列のサブセットであるかどうかを確認することが必要になることがよくあります。この文脈では、「サブセット」とは、別のセットのすべての要素を含むセットを指します。
たとえば、次のシナリオを考えてみましょう:
<code class="language-csharp">List<double> t1 = new List<double> { 1, 3, 5 }; List<double> t2 = new List<double> { 1, 5 };</code>
t2 が t1 のサブセットであるかどうかを判断する必要があります。このために、C# の LINQ (統合言語クエリ) の機能を利用できます。
LINQ は、コレクションに対して集合操作を実行するためのシンプルかつ簡潔な方法を提供します。これらの操作の 1 つは、別のコレクションにも存在する要素を除外する Except
メソッドです。
t2 が t1 のサブセットであるかどうかを確認するには、次のように Except
メソッドを使用できます。
<code class="language-csharp">bool isSubset = !t2.Except(t1).Any();</code>コードは次のように機能します:
Except
Any
!
の結果を否定するために使用されます。これは、結果のシーケンスが空の場合 (つまり、要素が存在せず、t2 が t1 のサブセットであることを示す)、Any
を意味します。が返されます。 true
以上がLINQ は、ある配列が別の配列のサブセットであるかどうかをどのように判断できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。