我需要一个类似于Java(http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#containsAll(java.util.Collection))的Collection.containsAll的方法

我找到了ISet.IsSubsetOf,但是它是在ISet中定义的。我在IList中需要类似的一个。

有类似的东西吗?

最佳答案

您可以使用Except扩展方法来解决问题

var count = list1.Except(list2).Count();
if(count == 0)
{
   // arrays contains same elements
}


或者您可以使用Any扩展方法直接获得布尔结果:

bool control = !(list1.Except(list2).Any());


如果我们使用negation operator会更好,因为如果存在任何其他元素,则Any返回true。

关于c# - Collection.containsAll在C#中的实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20923418/

10-14 11:39