性能上有什么区别吗
List<T>.Sort Method (Comparison<T>)
和
List<T>.Sort Method (IComparer<T>)?
是否存在任何结构(软件架构)优势?
什么时候使用比较方法而不是比较类,反之亦然?
编辑:
List<T>.Sort Method (IComparer<T>)
是比较快的。谢谢吉姆·米歇尔!
我的 PC 上的性能差异约为 1%。
似乎比较类是比较快的。
最佳答案
区别在于第一个接受方法(匿名或非匿名),第二个接受比较器对象的实例。有时定义复杂和可定制的比较器类比将所有内容都写在一个函数中更容易。
我更喜欢第一个用于一维的简单排序,而后者用于多维排序,例如数据网格。
使用比较器,您可以拥有私有(private)成员,这通常有助于缓存。这在某些情况下很有用(同样,在对网格中显示的大型数据集进行复杂排序时)。
关于c# - 比较方法和比较类之间有什么性能差异吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15524989/