首頁 >後端開發 >C++ >.NET 是否提供了一種內建方法來檢查一個清單是否包含另一個清單中的所有項目?

.NET 是否提供了一種內建方法來檢查一個清單是否包含另一個清單中的所有項目?

Linda Hamilton
Linda Hamilton原創
2024-12-29 11:26:111015瀏覽

Does .NET Offer a Built-in Way to Check if One List Contains All Items from Another?

檢查一個清單是否包含.NET 中另一個清單的所有項目

簡介

確定一個.NET 清單是否包含另一個.NET清單的所有元素清單是一項常見任務。人們可能會認為此類功能已內建在框架中。本文檢查是否屬於這種情況,並在必要時提供替代方法。

「ListHelper」方法

提供的「ListHelper」類別定義了一個「ContainsAllItems」方法,用於檢查List “ a”包含列表“b”中的所有元素,使用“TrueForAll 」方法迭代「b」的元素並驗證它們是否存在於"a."

.NET的替代方案

在.NET 版本3.5 及更高版本中,存在更簡潔且性能更佳的替代方案:

public static bool ContainsAllItems<T>(List<T> a, List<T> b)
{
    return !b.Except(a).Any();
}

此程式碼利用了「除了」方法來識別「b」中不在「a」中的任何元素。如果存在任何此類元素,則結果反轉為傳回“false”,表示“a”不包含“b”中的所有項目。

結論

而「ListHelper」方法是有效的,3.5 及更高版本中提供的 .NET 替代方案提供了更高的效率和簡單性。透過利用「Except」和「Any」方法,程式碼檢查「b」中是否存在「a」中不存在的元素。這種方法更加簡潔,並利用 LINQ 的強大功能來實現高效能的集合操作。

以上是.NET 是否提供了一種內建方法來檢查一個清單是否包含另一個清單中的所有項目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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