目前的任務是驗證一個清單是否包含另一個清單中存在的所有元素。在 .NET 中,此功能確實是 3.5 及更高版本內建的。
對於.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
使用 .NET 3.5 及更高版本中的內建功能,您可以方便有效地檢查元素之間的包含關係清單。提供的代碼有效地利用 LINQ 來執行此檢查並遵守常見的編碼實踐。
以上是在 .NET 中如何有效地檢查一個清單是否包含另一個清單的所有元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!