利用LINQ高效驗證數組子集關係
在程式設計中,常常需要判斷一個陣列是否為另一個陣列的子集。這在數據處理和分析中至關重要。本文探討一種基於LINQ的方法來有效率地檢查陣列子集關係。
讓我們考慮兩個範例陣列:
<code>List<double> t1 = new List<double> { 1, 3, 5 }; List<double> t2 = new List<double> { 1, 5 };</code>
我們的目標是確定t2是否為t1的子集。利用強大的LINQ擴充方法,我們可以利用Except()
和Any()
方法有效率地驗證此條件。
Except()
方法傳回一個新集合,其中包含存在於第一個集合中但不存在於第二個集合中的元素。因此,檢查t2.Except(t1)的結果是否為空集合,可以判斷t2中的所有元素是否都在t1中。
使用邏輯運算子對結果取反,如下面的程式碼所示,可以確定t2是否是t1的子集。
<code>bool isSubset = !t2.Except(t1).Any();</code>
在提供的範例中,isSubset
將被評估為true
,確認t2確實是t1的子集,因為t2中的所有元素也存在於t1中。
以上是使用 LINQ 時一個陣列是另一個陣列的子集嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!