//摘要:
,,//,,定义一种特定于类型的通用比较方法,值类型或类通过实现此方法对其实例进行排序。
,,[ComVisible (true)]
,,公共接口IComparable
,,{
,,,,//摘要:
,,,,//,,将当前实例与同一类型的另一个对象进行比较,并返回一个整数,该整数指示当前实
,,,,,,,,,,,,,,,,//例在排序顺序中的位置是位于另一个对象之前,之后还是与其位置相同。
,,,,//
,,,,//参数:
,,,,//,obj:
,,,,//,,与此实例进行比较的对象。
,,,,//
,,,,//返回结果:
,,,,//,,一个值,指示要比较的对象的相对顺序。返回值的含义如下:值含义小于零此实例小于,,,,,,,,,,,,//obj。零此实例等于obj。大于零此实例大于obj。
,,,,//
,,,,//异常:
,,,,//,System.ArgumentException:
,,,,//,,obj不具有与此实例相同的类型。
,,,,int CompareTo(对象obj);
,,}
备注:
,,,,此接口由具有可排序值的类型实现只它要求实现类型定义单个方法,CompareTo(对象),该方法指示当前实例在排序顺序中的位置是位于同一类型的另一个对象之前,之后还是与其位置相同只实例的,IComparable 实现由,Array.Sort 和,ArrayList.Sort 等方法自动调用.CompareTo(对象),方法的实现必须返回有三个值之一的,Int32,如下表中所示。
示例代码:(来自官方开发文档)
using 系统; using System.Collections; 时间:public class  Temperature IComparable {,,,//,,temperature 价值 ,,,protected double temperatureF;,,,, ,,,public int CompareTo (object obj), {,,,,,,, ,,,,,,,if (obj ==, null), return 1; ,,,,,,,Temperature otherTemperature =, obj as 温度;,,,,,,,, ,,,,,,,if (otherTemperature !=, null), ,,,,,,,,,,,return this.temperatureF.CompareTo (otherTemperature.temperatureF);,,,,,,,, ,,,,,,, ,,,,,,,,,,throw new ArgumentException (“Object is  not a 温度”); ,,,},,,, ,,,public double Fahrenheit ,,,{,,,,,,, ,,,,,,,get ,,,,,,,{,,,,,,,,,,, ,,,,,,,,,,,return this.temperatureF; ,,,,,,,},,,,,,,, ,,,,,,,set ,,,,,,,{,,,,,,,,,,, ,,,,,,,,,,,=,this.temperatureF 价值; ,,,,,,,} ,,,},,,, ,,,public double Celsius ,,,{,,,,,,, ,,,,,,,get ,,,,,,,{,,,,,,,,,,, ,,,,,,,,,,,return (this.temperatureF 安康;32),*,(5.0/9); ,,,,,,,},,,,,,,, ,,,,,,,set ,,,,,,,{,,,,,,,,,,, ,,,,,,,,,,,this.temperatureF =, (value *, 9.0/5), +, 32; ,,,,,,,} ,,,} } public class  CompareTemperatures {,, ,,,public static void 主要() ,,{ null null null null null null null null null null null null null null null null null null null null null null null null null null nullIComparable类型排序接口