.NETでローカライズされた文字列を比較するために "=="を使用しない理由は何ですか? CultureInfoを使用すると、比較はどのように実行されますか?.NETのローカライズされた文字列の比較に '=='を使用する必要がありますか?
11
A
答えて
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
関連する問題
- 1. SQLite文字列比較のローカライズされたCOLLATE
- 2. C#(.NET)で文字列の長さをそれに応じて比較する関数はありますか?
- 3. 文字列を変数に代入してから比較する必要がありますか?
- 4. 比較文字列サイズを比較文字の代わりに使用していますか?
- 5. Javascriptの文字列を比較するのに===を使用する必要がありますか、それとも十分ですか?
- 6. 文字列定数または文字列リテラルを使用する必要があります
- 7. .netのパラメータ化された書式文字列と文字列のインスタンスを比較する方法
- 8. デフォルトでUnicode文字列を使用する必要がありますか?
- 9. Windows8 - C#でローカライズされた文字列を使用する
- 10. ローカライズ可能な文字列ファイルを比較/マージ/ソートするツールはありますか?
- 11. 文字列とPHPの文字列を比較しますか?
- 12. アドレス帳の名前と指定された名前文字列を比較するメソッドが必要
- 13. 比較する文字列が列挙
- 14. Pythonで使用される文字列比較手法
- 15. ローカライズされた文字列のユニットテスト
- 16. ハードコードされた文字列 "Button"、@stringリソースを使用する必要があります
- 17. 文字列一致を使用する場合、特殊文字をエスケープする必要がありますか?
- 18. python3で文字列とデコードされたユニコードを比較する
- 19. PHPでutf8でエンコードされた文字列を比較する
- 20. クエリ文字列で渡されたデータを比較する
- 21. ハッシュされた文字列を比較する
- 22. C#の文字列比較#
- 23. ローカライズされた文字列を使用した検証
- 24. 文字列の比較 - Java
- 25. 比較文字列
- 26. 文字列を入力する/文字列の長さを確認する必要があります(C++)
- 27. 再帰を使用した2つの文字列の比較
- 28. 文字列比較
- 29. 比較する文字列が
- 30. 文字列の比較。どのようにstd :: wstringと文字列を比較できますか? WRT strcmp
あなたはC# '=='演算子について質問していますか?その場合は、C#タグを追加する必要があります。例の場合は – phoog