IComparable接口与IComparer之间的差别

IComparable<T> 是基本的 BCL 类型,它用来实现 CompareTo 方法,CompareTo 可以比较两个对象的实例,如相等,则返回 0,否则返回 -1 (前者比后者小) 或 1 (前者比后者大)。

IComparer<T> 用来实现 Comparer<T> 类型及其子类型,它用来完成某些包含比较操作,如 List<T> 上的 Sort 方法。而一些实用类,如 StringComparer 也会实现此接口。

另外,IComparable<T> 还用来支持运算符重载,如 ==, >, >=, <, <=, 或者 !=。

你可能感兴趣的:(comparable)