2011-11-09 259 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"); 
} 

但在自己的類,你可以決定如何它的一個實例比較反對另一個。

相關問題