首頁 >後端開發 >C++ >LINQ 如何決定一個陣列是否是另一個陣列的子集?

LINQ 如何決定一個陣列是否是另一個陣列的子集?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-20 05:46:41466瀏覽

How Can LINQ Determine if One Array is a Subset of Another?

利用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提供了一個簡單且簡潔的方法來對集合執行集合運算。其中一項操作是Except方法,該方法排除在另一個集合中也存在的元素。

要檢查t2是否為t1的子集,我們可以使用Except方法,如下所示:

<code class="language-csharp">bool isSubset = !t2.Except(t1).Any();</code>

程式碼運作原理如下:

  1. Except方法用於建立一個新的序列,該序列僅包含t2中不在t1中也存在的元素。
  2. 然後將Any方法應用於此結果序列以檢查是否存在任何元素。
  3. !運算子用於否定Any的結果,這表示如果結果序列為空(即不存在元素,表示t2是t1的子集),則傳回true

以上是LINQ 如何決定一個陣列是否是另一個陣列的子集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn