高效利用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的子集。反之,如果isSubset
為false
,則t2不是t1的子集。
在我們的範例中,由於t2中的每個元素(即1和5)也存在於t1中,Except
操作將產生一個空列表,表達式將計算為true
,從而確認t2是t1的子集。
以上是LINQ 如何有效地決定一個陣列是否為另一個陣列的子集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!