從一個清單中移除另一個清單中存在的項目
任務是從泛型清單中遍歷並移除另一個清單中包含的項目。考慮以下假設場景:
<code>List<car> list1 = GetTheList(); List<car> list2 = GetSomeOtherList();</code>
目標是使用 foreach 迴圈迭代 list1 並移除 list2 中也存在的任何項目。但是,foreach 循環不是基於索引的,這使任務變得複雜。
使用 Except 方法的解
為了應對這個挑戰,我們可以使用 Except 方法,該方法排除一個清單中存在於另一個清單中的項目:
<code>List<car> result = list2.Except(list1).ToList();</code>
這將建立一個新的清單 result,其中包含 list2 中不存在於 list1 中的項目。我們甚至可以透過消除臨時變數來簡化程式碼:
<code>List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>
要注意的是,Except 會產生一個新列表,而不會修改任何原始列表。
以上是如何有效地從一個清單中刪除另一個清單中存在的項目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!