首頁 >後端開發 >C++ >在 C# 中,如何從一個清單中刪除另一個清單中存在的項目?

在 C# 中,如何從一個清單中刪除另一個清單中存在的項目?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-13 14:11:42248瀏覽

How Can I Remove Items from One List That Are Present in Another List in C#?

有效地從一個清單中刪除另一個清單中存在的元素 (C#)

許多程式設計任務需要從清單中刪除也出現在第二個清單中的元素。 本文演示了 C# 中實現此目的的兩種有效方法。

利用 LINQ 的 Except 方法

LINQ(語言整合查詢)使用 Except 方法提供了一個簡潔的解決方案。此方法計算兩個列表之間的集合差異,傳回一個僅包含第一個列表特有的元素的新列表。 至關重要的是,這種方法避免了修改原始清單。

這是一個說明 Except 用法的範例:

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

此程式碼片段產生 result,一個新列表,其中包含 list2list1 中不存在的元素。 ToList() 轉換是必要的,因為 Except 回傳 IEnumerable 而不是 List

替代方案:直接建立新清單

更簡化的方法涉及直接建立一個僅包含所需元素的新清單:

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

這實現了與前面的範例相同的結果,但不需要臨時變數。

重要考量:

上面介紹的兩種方法都會產生一個包含過濾元素的新清單。 原始清單(list1list2)保持不變。

以上是在 C# 中,如何從一個清單中刪除另一個清單中存在的項目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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