.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. ローカライズされた文字列とデータベースの文字列を比較するには?
- 2. SQLite文字列比較のローカライズされたCOLLATE
- 3. C#(.NET)で文字列の長さをそれに応じて比較する関数はありますか?
- 4. 文字列を変数に代入してから比較する必要がありますか?
- 5. 比較文字列サイズを比較文字の代わりに使用していますか?
- 6. 配列内の文字列を比較し、最長の単語を格納/返す必要があります
- 7. Javascriptの文字列を比較するのに===を使用する必要がありますか、それとも十分ですか?
- 8. URL文字列を比較すると隠された文字
- 9. ローカライズされたフォルダの文字列リソースファイルのみを使用する方法はありますか?
- 10. ループ文で別の文字列比較を宣言する必要があるのはなぜですか?
- 11. .netのパラメータ化された書式文字列と文字列のインスタンスを比較する方法
- 12. 文字列定数または文字列リテラルを使用する必要があります
- 13. Windows8 - C#でローカライズされた文字列を使用する
- 14. デフォルトでUnicode文字列を使用する必要がありますか?
- 15. sequelize(node.js)でエスケープ文字列を使用する必要がありますか?
- 16. ローカライズ可能な文字列ファイルを比較/マージ/ソートするツールはありますか?
- 17. "可能であればローカライズされた文字列を使用する"
- 18. 比較文字列と変更された文字列と部分文字列
- 19. ValueError:パンダスタイルを使用するときに 'シリーズの長さを比較する必要があります'
- 20. JavaScriptを使用して文字列内の連続した文字をフィルタリングする必要があります
- 21. PDO:文字列をエスケープする必要がありますか?
- 22. ローカライズされた文字列のユニットテスト
- 23. アドレス帳の名前と指定された名前文字列を比較するメソッドが必要
- 24. 割り当てのために文字列に文字列を追加する必要があります
- 25. ハードコードされた文字列 "Button"、@stringリソースを使用する必要があります
- 26. 文字列とPHPの文字列を比較しますか?
- 27. Pythonで使用される文字列比較手法
- 28. 文字列一致を使用する場合、特殊文字をエスケープする必要がありますか?
- 29. "if"ステートメントでの比較に文字列を使用する(SWIFT)
- 30. 比較する文字列が列挙
あなたはC# '=='演算子について質問していますか?その場合は、C#タグを追加する必要があります。例の場合は – phoog