可能重复:
Comparing two collections for equality检查两个列表在一个单一的评价相同的元素
我有两个列表
List<int> Foo = new List<int>(){ 1, 2, 3 };
和
List<int> Bar = new List<int>(){ 2, 1 };
要了解他们是否有相同的元素或者,我可没
if(Foo.Except(Bar).Any() || Bar.Except(Foo).Any())
{
//Do Something
}
但这需要两个布尔评估。首先它是Foo.Except(Bar).Any()
,然后是Bar.Except(Foo).Any()
。有没有办法在单一评估中做到这一点?
预期结果是什么 - 查找两个集合中是否有相同的元素,或者查找集合中的所有元素是否相同(但可能顺序不同)? –
@lazyberezovsky:顺序并不重要。只是为了检查Foo中是否有元素,而不是Bar,或者是否在Bar中,而不是Foo中。 –