本文主要是介绍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接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!