2010-09-27 260 views

回答

3

從反射器:

public static int Compare(string strA, string strB) 
{ 
    return CultureInfo.CurrentCulture.CompareInfo.Compare(strA, strB, CompareOptions.None); 
} 
public int CompareTo(string strB) 
{ 
    if (strB == null) 
    { 
     return 1; 
    } 
    return CultureInfo.CurrentCulture.CompareInfo.Compare(this, strB, CompareOptions.None); 
} 

所以CompareTo具有比Compare附加的參考檢查。

public static bool operator ==(string a, string b) 
{ 
    return Equals(a, b); 
} 

所以==是完全一樣Equals。 兩個Compare和兩個Equals之間的差異是,您可以將CompareOptions參數傳遞給Compare,並返回0/1/-1。而Equals沒有收到CompareOptions參數,它只能告訴你TRUE/FALSE。