string.Compare使用筆記

iDotNetSpace發表於2009-11-30
Compare 有多個過載函式,列出最簡單的一個。

public static int Compare (string strA, string strB)

返回值
* 小於零,strA 小於 strB;
* 零,strA 等於 strB;
* 大於零,strA 大於 strB。

該比較使用當前區域性設定獲取區域性特定的資訊,如大小寫規則和各個字元的字母順序。例如,區域性設定可以指定將某些字元的組合視為單個字元,或者用特殊方法比較大寫和小寫字元,或者字元的排列順序取決於它前面或後面的字元。

如果其中一個引數是 null 引用,則字串大於 null 引用;如果兩個引數都是 null 引用,則比較結果相等。

這裡最重要的是 StringComparison 型別的 comparisonType 引數:

StringComparison.CurrentCulture 使用區域敏感排序規則和當前區域比較字串。
StringComparison.CurrentCultureIgnoreCase 使用區域敏感排序規則、當前區域來比較字串,同時忽略被比較字串的大小寫。
StringComparison.InvariantCulture 使用區域敏感排序規則和固定區域比較字串。
StringComparison.InvariantCultureIgnoreCase 使用區域敏感排序規則、固定區域來比較字串,同時忽略被比較字串的大小寫。
StringComparison.Ordinal 使用序號排序規則比較字串。這個就是按照每一個字元的 Unicode 編碼就行比較,編碼小的就小,之前很多語言採取的都是這種比較方式。
StringComparison.OrdinalIgnoreCase 使用序號排序規則並忽略被比較字串的大小寫,對字串進行比較。在 StringComparison.Ordinal 的基礎上,只是忽略了大小寫。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-621000/,如需轉載,請註明出處,否則將追究法律責任。

相關文章