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

Array.Sort メソッドと Array.BinarySearch メソッドのオーバーロードは、Thread.CurrentCulture プロパティを使用して、カルチャを認識する並べ替えを既定で実行します。 これらのメソッドで返されたカルチャを認識した結果は、並べ替え順序の違いに起因し、カルチャによって異なる場合があります。 カルチャを認識した動作を回避するには、comparer パラメーターを受け入れる、このメソッドのいずれかのオーバーロードを使用します。 comparer パラメーターによって、配列の要素を比較するときに使用する IComparer 実装が指定されます。 このパラメーターには、CultureInfo.InvariantCulture を使用するカスタム invariant comparer クラスを指定してください。 カスタム invariant comparer クラスの例は、「カルチャを認識しないコレクションの文字列操作の実行」トピックのサブトピック「SortedList クラスの使用」にあります。

注意

CultureInfo.InvariantCulture を比較メソッドに渡すと、カルチャを認識しない比較が実行されます。 ただし、これによって、ファイル パス、レジストリ キー、環境変数などで、非言語的な比較が行われることはありません。 また、比較結果に基づいたセキュリティに関する決定もサポートされません。 非言語的な比較や、結果に基づくセキュリティに関する決定については、アプリケーションは StringComparison 値を受け入れる比較メソッドを使用する必要があります。 アプリケーションは Ordinal を渡します。

参照