当前位置:  开发笔记 > 编程语言 > 正文

比较两个列表的最快方法

如何解决《比较两个列表的最快方法》经验,为你挑选了2个好方法。

我有一个List(Foo),我想看看它是否等于另一个List(foo).什么是最快的方式?



1> flq..:

从3.5开始,您可以使用LINQ函数:

List l1 = new List {"Hello", "World","How","Are","You"};
List l2 = new List {"Hello","World","How","Are","You"};
Console.WriteLine(l1.SequenceEqual(l2));

它也知道提供自己的比较器的过载


您将需要实现一个IEqualityComparer来比较自定义类的列表,但它的简单和这个MS页面解释了如何:http://msdn.microsoft.com/en-us/library/bb348567.aspx

2> 小智..:

以下是我要做的步骤:

    如果为true,则执行object.ReferenceEquals(),然后返回true.

    检查计数,如果不相同,则返回false.

    逐个比较元素.

以下是该方法的一些建议:

    将实现基于ICollection.这为您提供了计数,但不限于特定的集合类型或包含的类型.

    您可以将该方法实现为ICollection的扩展方法.

    您将需要使用.Equals()来比较列表的元素.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有