IEnumerable包含IEnumerable

时间:2016-04-29 00:50:13

标签: c# linq

我有两个IEnumerable个对象,我想验证其中一个是否包含另一个的所有元素。

我正在使用obj1.Intersect(obj2).Any(),但交叉点并没有像我期望的那样工作。即使obj2中存在obj1中的一个元素,它也会返回true。

有没有办法验证obj2中是否存在obj1的所有元素?

1 个答案:

答案 0 :(得分:7)

没有一个LINQ方法可以在不指定lambda的情况下完成所需的操作。但是,有多种方法可以使用LINQ。以下是一些选项(用于测试obj2obj1的子集):

obj1.Intersect(obj2).Count() == obj2.Count()

obj2.All(x=>obj1.Contains(x))

obj2.Except(obj1).Any()