首頁 >後端開發 >C++ >如何有效地從一個清單中刪除另一個清單中存在的元素?

如何有效地從一個清單中刪除另一個清單中存在的元素?

DDD
DDD原創
2025-01-13 14:17:42610瀏覽

How to Efficiently Remove Elements from One List That Exist in Another?

如何從一個清單中移除另一個清單中包含的項目

假設您有兩個列表,list1 和 list2,您希望移除 list1 中也存在於 list2 中的所有項目。使用 foreach 迴圈迭代 list1 是不夠的,因為它不是基於索引的。

解:使用 Except 方法

.NET Framework 提供了 Except 方法,該方法傳回一個新列表,其中包含第一個列表中不存在於第二個列表中的元素。它以兩個列表作為參數,並逐個元素操作。

要使用 Except,您可以編寫以下程式碼:

<code class="language-csharp">List<car> list1 = GetTheList();
List<car> list2 = GetSomeOtherList();
List<car> result = list2.Except(list1).ToList();</code>

產生的 result 清單將只包含 list2 中不在 list1 中的項目。

注意:Except 方法不會修改原始清單。它會建立一個包含結果的新清單。

簡化語法

您可以使用方法鏈進一步簡化上述程式碼:

<code class="language-csharp">List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>

此程式碼無需使用臨時變數即可實現相同的結果。

以上是如何有效地從一個清單中刪除另一個清單中存在的元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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