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

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

Mary-Kate Olsen
發布: 2025-01-20 06:01:08
原創
630 人瀏覽過

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

高效利用LINQ判斷數組子集關係

判斷一個陣列是否為另一個陣列的子集是常見的程式設計任務。這裡,子集指的是其所有元素都存在於父數組中的集合。利用LINQ(語言整合查詢)的強大功能,可以有效率地確定這種關係。

假設我們有兩個列表:

<code>List<double> t1 = new List<double> { 1, 3, 5 };
List<double> t2 = new List<double> { 1, 5 };</code>
登入後複製

我們的目標是使用LINQ判斷t2是否為t1的子集。

為此,我們可以使用Except運算子排除t1中不存在於t2中的元素。如果結果清單為空,則表示t2中的每個元素都存在於t1中,表示t2確實是t1的子集。

以下LINQ表達式封裝了此邏輯:

<code>bool isSubset = !t2.Except(t1).Any();</code>
登入後複製

如果isSubset的值為true,則確認t2是t1的子集。反之,如果isSubsetfalse,則t2不是t1的子集。

在我們的範例中,由於t2中的每個元素(即1和5)也存在於t1中,Except操作將產生一個空列表,表達式將計算為true,從而確認t2是t1的子集。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板