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

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

DDD
發布: 2024-12-30 13:52:14
原創
322 人瀏覽過

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

.NET 有內建函數來檢查清單 a 是否包含清單 b 中的所有項目嗎?

這個問題的目的是確定.NET 是否提供內建功能來確定一個清單是否包含另一個清單的所有元素list.

提供的範例程式碼嘗試透過迭代第二個列表並檢查每個元素是否存在於第一個列表中來實現此目的。這種方法是可行的,但是有人想知道.NET 中是否已經存在這樣的功能。

答案:

對於.NET 3.5 及以上版本,確實可以使用這樣的功能:

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

此程式碼將清單b 中的元素與列表a 中的元素進行比較,僅當所有元素都在列表a 中時才傳回true b 也出現在 a中。

替代實作:

更傳統的實作將涉及將該方法聲明為通用方法並接受 IEnumerable 。而不是特定類型(List):

public static class LinqExtras
{
    public static bool ContainsAllItems<T>(this IEnumerable<T> a, IEnumerable<T> b)
    {
        return !b.Except(a).Any();
    }
}
登入後複製

使用這種方法,您可以使用以下方法輕鬆檢查一個清單是否包含另一個清單的所有元素:

IEnumerable<int> a = new List<int> { 1, 2, 3, 4 };
IEnumerable<int> b = new List<int> { 2, 4, 6, 8 };

bool containsAll = a.ContainsAllItems(b);  // False
登入後複製

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板