码迷,mamicode.com
首页 > 编程语言 > 详细

C#比较类/接口、Dictionary 排序

时间:2020-05-31 01:03:02      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:def   大小   mic   dict   tar   ref   sys   接口   ram   

 Comparison<T>、 Comparer<T>、 System.IComparable、IComparable<T>的区别

  1. Comparison<T>,继承委托。开发人员可以在外部写个用于比较大小的函数,然后作为 Comparison<T>类型的参数传入,进行比较,非常方便。

  2. 派生自 Comparer<T> 类和实现 System.IComparable 接口之间的差异如下:

    • 若要指定默认情况下(Default获取)应如何比较两个对象,请在类中实现 System.IComparable 接口。 这可确保排序操作将使用您提供的默认比较代码。

    • 若要定义要使用的比较器而不是默认比较器,请从 Comparer<T> 类派生。 然后,您可以在采用比较器作为参数的排序操作中使用此比较器。

  1. Default 属性返回的对象使用 System.IComparable<T> 泛型接口来比较两个对象。 如果类型 T 未实现 System.IComparable<T> 泛型接口,Default 属性返回使用 System.IComparable 接口的 Comparer<T>

 

更多详情看:https://www.jianshu.com/p/cd1be6652570

C#比较类/接口、Dictionary 排序

标签:def   大小   mic   dict   tar   ref   sys   接口   ram   

原文地址:https://www.cnblogs.com/fires/p/12995754.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!