我有一个List(Foo),我想看看它是否等于另一个List(foo).什么是最快的方式?
从3.5开始,您可以使用LINQ函数:
Listl1 = new List {"Hello", "World","How","Are","You"}; List l2 = new List {"Hello","World","How","Are","You"}; Console.WriteLine(l1.SequenceEqual(l2));
它也知道提供自己的比较器的过载
以下是我要做的步骤:
如果为true,则执行object.ReferenceEquals(),然后返回true.
检查计数,如果不相同,则返回false.
逐个比较元素.
以下是该方法的一些建议:
将实现基于ICollection.这为您提供了计数,但不限于特定的集合类型或包含的类型.
您可以将该方法实现为ICollection的扩展方法.
您将需要使用.Equals()来比较列表的元素.