首頁 >後端開發 >C++ >在 .NET 中如何有效地檢查一個清單是否包含另一個清單的所有元素?

在 .NET 中如何有效地檢查一個清單是否包含另一個清單的所有元素?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-01 07:02:11180瀏覽

How Can I Efficiently Check if One List Contains All Elements of Another in .NET?

.NET 檢查清單包含的方法

目前的任務是驗證一個清單是否包含另一個清單中存在的所有元素。在 .NET 中,此功能確實是 3.5 及更高版本內建的。

.NET 實作

對於.NET 3.5 及更高版本,我們可以利用以下程式碼來實現此遏制check:

public static class LinqExtras // Or whatever
{
    public static bool ContainsAllItems<T>(this IEnumerable<T> a, IEnumerable<T> b)
    {
        return !b.Except(a).Any();
    }
}

這段簡潔的程式碼利用except 方法來決定b 中a 中不存在的任何元素。透過以 ! 反轉結果,我們可以有效地確認 a 是否包含 b 的所有元素。

常規方法

就編碼約定而言,更常見的是定義一個泛型方法,如下所示提供的代碼,而不是類別本身是通用的。另外,List的要求是可以放寬為 IEnumerable因為我們只需要一個迭代元素的方法。

結論

使用 .NET 3.5 及更高版本中的內建功能,您可以方便有效地檢查元素之間的包含關係清單。提供的代碼有效地利用 LINQ 來執行此檢查並遵守常見的編碼實踐。

以上是在 .NET 中如何有效地檢查一個清單是否包含另一個清單的所有元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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