IComparable类型排序接口

  

//摘要:

,,//,,定义一种特定于类型的通用比较方法,值类型或类通过实现此方法对其实例进行排序。

,,[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   null

IComparable类型排序接口