[解決済み] ToLowerInvariant()の何が問題なのでしょうか?
2023-05-26 17:58:43
質問
次のようなコードがあります。
var connectionString = configItems.
Find(item => item.Name.ToLowerInvariant() == "connectionstring");
VS 2010のコード解析では、以下のように言われています。
警告 7 CA1308 。Microsoft.Globalization : メソッド内で ... 'string.ToLowerInvariant()' への呼び出しを String.ToUpperInvariant() に置き換えてください。
これはつまり
ToUpperInvariant()
の方が信頼性が高いということでしょうか?
どのように解決するのですか?
Google は、次のようなヒントを与えています。 CA1308: 文字列を大文字に正規化する
と書かれています。
文字列は大文字に正規化されるべきです。小文字に変換された一部の文字は、ラウンド・トリップすることができません。往復するとは、あるロケールから、文字データの表現が異なる別のロケールに変換し、変換後の文字から元の文字を正確に取り出すことを意味します。
つまり、そうです - ToUpperはToLowerよりも信頼性が高いのです。
将来的には、私は最初にググることをお勧めします - 私は投げられたすべてのFxCop警告のためにそうします;) 対応するドキュメントを読むのに大いに役立ちます ;)
関連
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み] [Solved] 不正な文字列値: '\xEFxBFxBD' for column
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] Try-catchは私のコードをスピードアップさせるか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] あるコンストラクタを別のコンストラクタから呼び出す
-
[解決済み] C#で同期メソッドから非同期メソッドを呼び出すには?
-
[解決済み] C#でメソッドをパラメータとして渡す
-
[解決済み】大文字・小文字を区別しない「Contains(string)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み] 関数を終了するには?
-
[解決済み] C# SwitchステートメントでIgnoreCaseを使用する方法