当前位置:编程学习 > C#/ASP.NET >>

icomparer<T> 和 Icomparable<T>有啥区别

icomparer<T> 和 Icomparable<T>区别和用法!请大师们指教指教!谢了! --------------------编程问答-------------------- 接口对应支持的方法不一样。 --------------------编程问答-------------------- Google~ --------------------编程问答-------------------- IComparer<T> 接口
IComparable<T> 接口
看备注
//IComparer<T> 接口
此接口由 List<T>.Sort 和 List<T>.BinarySearch 方法使用。它提供一种自定义集合排序顺序的方法。实现此接口的类包括 SortedDictionary<TKey, TValue> 和 SortedList<TKey, TValue> 泛型类。

此接口的默认实现为 Comparer<T> 类。StringComparer 类为 String 类型实现此接口。

此接口支持排序比较。也就是说,当 Compare 方法返回 0 时,即表示两个对象的排序相同。完全相等比较的实现由 IEqualityComparer<T> 泛型接口提供。


//IComparable<T> 接口
此接口由值可以排序的类型实现;例如数值或字符串类。值类型或类实现 CompareTo(T) 方法以创建适合排序等目的的类型特定的比较方法。

IComparable<T> 接口定义 CompareTo(T) 方法,该方法确定实现类型的实例的排序顺序。IEquatable<T> 接口定义 Equals 方法,该方法确定实现类型的实例的相等性。

CompareTo(T) 方法的实现必须返回有三个值之一的 Int32,如下表中所示。

--------------------编程问答-------------------- IComparer接口需要实现Compare方法
http://msdn.microsoft.com/zh-cn/library/4d7sx9hd(v=VS.80).aspx
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,