2011-11-09 261 views

回答

1

在C#中,int关键字实际上代表System.Int32类型的结构。这种类型有几种可用的方法,其中之一就是你所看到的CompareTo(Int32)

CompareTo用于Int32对象发生在一个整数值,该值进行比较,以本身并返回结果,非常简单地是这样的:

public int CompareTo(int value) 
{ 
    if (this < value) 
    { 
     return -1; 
    } 
    if (this > value) 
    { 
     return 1; 
    } 
    return 0; 
} 

this关键字引用类型,这的当前实例方法属于,在你的情况下,a

Int32的文档及其方法可以找到here

+0

tnx为你的答案,但我坚持不是比较方法。我想知道如何通过这种语法调用像这样的“int Sum(int a,int b){return a + b)”方法a.sum(b)而不是sum(a,b) – 1AmirJalali

+0

您是否熟悉'this'语法以及在类的实例上运行的方法的上下文?你来自哪种语言,或者C#是你的第一语言? – Kasaku

0

作为每documentation

此方法仅仅是一个定义,并且必须由一个特定的类或类型的值被实现为有效果。 “返回值”部分中指定的比较的含义(“先于”,“与......相同”和“跟随”出现在同一位置)取决于具体实现。

在这个例子中,他们通过其华氏温度值,它是一个双比较温度:

public int CompareTo(object obj) { 
    if (obj == null) return 1; 

    Temperature otherTemperature = obj as Temperature; 
    if (otherTemperature != null) 
     return this.temperatureF.CompareTo(otherTemperature.temperatureF); 
    else 
     throw new ArgumentException("Object is not a Temperature"); 
} 

但在自己的类,你可以决定如何它的一个实例比较反对另一个。

相关问题