2011-11-17 6 views

答えて

10

==は、カルチャーに依存しません。これは簡単な順序比較です。したがって、文化的に等価であるか、他の正規化形式の点で同等である2つの文字列は、ではなく、==で等しくなる可能性があります。基本的には、各文字列をchar配列のように扱います。

10

オーバーロードされたString.operator ==は、カルチャ認識不能な順序比較を実行します。– heavily optimized unrolled loopを使用して、文字列をバイト単位で比較します。
String.Equals(a, b, StringComparison.Ordinal)

14

たとえば、 "Strasse"と "Straße"のような文化認識文字列を==で比較すると、falseを返します。

UIスタッフ(Listviewの並べ替え)のカルチャを意識した比較が必要な場合は、関連CultureInfoでString.Compareを使用します。

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

+1です。 – Otiel

関連する問題