カルチャを認識しない文字列操作の実行

カルチャを認識する文字列操作は、カルチャごとにユーザーに結果を表示するようデザインされたアプリケーションを作成する場合に役立ちます。 既定では、カルチャを認識するメソッドは、使用するカルチャを現在のスレッドの プロパティから取得します。

ただし、カルチャを認識する文字列操作が望ましい動作であるとは限りません。 結果をカルチャに依存させない場合に、カルチャを認識する操作を使用すると、カスタムの大文字と小文字の対応規則および並べ替え規則を使用するカルチャでのアプリケーション コードの実行が失敗することがあります。 たとえば、文字列を使用するためのベスト プラクティスに関するページの「現在のカルチャを使用する文字列比較」を参照してください。

文字列操作でカルチャに依存するかどうかは、アプリケーションで結果をどのように使用するかに基づいて決定する必要があります。 ユーザーに結果を表示する場合は、通常、カルチャを認識する文字列操作を実行する必要があります。 たとえば、アプリケーションがローカライズされた文字列を並べ替えてリスト ボックスに表示する場合は、カルチャを認識する並べ替えを実行します。

内部的に使用される文字列に対する操作は、通常、カルチャを認識しないようにします。 一般的に、アプリケーションがファイル名、永続形式、エンド ユーザーに表示されないシンボル情報などの処理を実行する場合には、文字列操作の結果がカルチャごとに変わらないようにする必要があります。 たとえば、XML タグとして認識されるかどうかを調べるために文字列を比較するアプリケーションでは、比較操作でカルチャを認識しないでください。 また、セキュリティに関する決定が文字列の比較操作や大文字と小文字の変更操作の結果に基づいて行われる場合は、この操作がカルチャを認識しないようにして、操作の結果が の値に影響されないようにする必要があります。

"既定で" カルチャを区別する文字列操作を実行するほとんどの .NET メソッドには、カルチャを区別しない結果を保証できるオーバーロードも用意されています。 CultureInfo 引数を受け取るこのようなオーバーロードを使用すると、大文字と小文字のマッピングや並べ替え規則におけるカルチャの差異を排除できます。 カルチャを区別しない文字列操作の場合、カルチャを CultureInfo.InvariantCulture と指定します。

このセクションの内容

このセクションの記事では、既定ではカルチャを区別する .NET のメソッドを使用し、カルチャを区別しない文字列操作を実行する方法について説明します。

カルチャを区別しない文字列比較の実行
メソッドと メソッドを使用してカルチャを認識しない文字列比較を実行する方法について説明します。

カルチャを区別しない大文字と小文字の変更の実行
の各メソッドを使用してカルチャを認識しない大文字と小文字の変換を実行する方法について説明します。

カルチャを区別しないコレクションの操作の実行
クラス、 を使用して、コレクションでカルチャを認識しない操作を実行する方法について説明します。

カルチャを区別しない配列の操作の実行
メソッドと メソッドを使用してカルチャを認識しない配列の操作を実行する方法について説明します。

参照

  • [並べ替え重みテーブル (Windows システム上の .NET 用)](https://www.microsoft.com/download/details.aspx?id=10921)
  • [デフォルト Unicode 照合基本テーブル (Linux と macOS 上の .NET Core 用)](https://www.unicode.org/Public/UCA/latest/allkeys.txt)