2011-11-17 62 views

回答

10

==對文化不敏感 - 這是一個簡單的序數比較。因此,兩個字符串在文化上相同 - 或者在其他規範化形式方面甚至是相同的 - 可以通過==等於而不是。它基本上把每個字符串看作一個char數組。

10

重載String.operator ==將執行文化未知的序數比較–它使用heavily optimized unrolled loop逐字節比較字符串。
它調用的內部函數與String.Equals(a, b, StringComparison.Ordinal)

14

如果您將文化意識的字符串與==比較,例如「Strasse」與「Straße」,則它會返回false。

如果你需要文化感知的比較UI的東西(Sorting of Listview),你可以使用String.Compare和相關的CultureInfo。

CultureInfo ci = new CultureInfo("de-DE"); 
String.Compare("Strasse", "Straße", true, ci) // Returns zero 
+3

+1爲例。 – Otiel