当前的任务是验证一个列表是否包含另一个列表中存在的所有元素。在 .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中文网其他相关文章!