首页 > 后端开发 > C++ > 在 .NET 中如何有效地检查一个列表是否包含另一个列表的所有元素?

在 .NET 中如何有效地检查一个列表是否包含另一个列表的所有元素?

Mary-Kate Olsen
发布: 2025-01-01 07:02:11
原创
189 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板