C#中的IComparable和IComparer接口
Posted 三五月儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中的IComparable和IComparer接口相关的知识,希望对你有一定的参考价值。
C#中,自定义类型,支持比较和排序,需要实现IComparable接口。IComparable接口存在一个名为CompareTo()的方法,接收类型为object的参数表示被比较对象,返回整型值:1表示当前对象大于被比较对象,0表示两者相等,-1表示当前对象小于被比较对象。
public int CompareTo(object o)
若想以更加灵活的方式对自定义类进行比较,可以声明一个继承自IComparer接口的比较器,实现接口方法Comprae(),接收2个object类型参数作为比较对象,返回整型值:1表示前者大于后者,0表示两者相等,-1表示前者小于后者。
public int Compare(object x, object y)
IComparable是“可比较的”意思,自定义类实现该接口,就具有可比较的功能;IComparer是“比较器”的意思,实现该接口的类就是一个比较器,可以将比较器“注入”类中,使类具有比较和排序的功能。
具体事例可以参考本人以前整理的两篇博文。
IComparable接口示例代码
IComparer接口示例代码
以上是关于C#中的IComparable和IComparer接口的主要内容,如果未能解决你的问题,请参考以下文章
[译]在C#中使用IComparable和IComparer接口