カルチャを認識しない配列の操作の実行Performing Culture-Insensitive String Operations in Arrays

Array.Sort メソッドと Array.BinarySearch メソッドのオーバーロードは、Thread.CurrentCulture プロパティを使用して、カルチャを認識する並べ替えを既定で実行します。Overloads of the Array.Sort and Array.BinarySearch methods perform culture-sensitive sorts by default using the Thread.CurrentCulture property. これらのメソッドで返されたカルチャを認識した結果は、並べ替え順序の違いに起因し、カルチャによって異なる場合があります。Culture-sensitive results returned by these methods can vary by culture due to differences in sort orders. カルチャを認識した動作を回避するには、comparer パラメーターを受け入れる、このメソッドのいずれかのオーバーロードを使用します。To eliminate culture-sensitive behavior, use one of the overloads of this method that accepts a comparer parameter. comparer パラメーターによって、配列の要素を比較するときに使用する IComparer 実装が指定されます。The comparer parameter specifies the IComparer implementation to use when comparing elements in the array. このパラメーターには、CultureInfo.InvariantCulture を使用するカスタム invariant comparer クラスを指定してください。For the parameter, specify a custom invariant comparer class that uses CultureInfo.InvariantCulture. カスタム invariant comparer クラスの例は、「カルチャを認識しないコレクションの操作の実行」トピックのサブトピック「SortedList クラスの使用」にあります。An example of a custom invariant comparer class is provided in the "Using the SortedList Class" subtopic of the Performing Culture-Insensitive String Operations in Collections topic.

CultureInfo.InvariantCulture を比較メソッドに渡すと、カルチャを認識しない比較が実行されます。Note Passing CultureInfo.InvariantCulture to a comparison method does perform a culture-insensitive comparison. ただし、これによって、ファイル パス、レジストリ キー、環境変数などで、非言語的な比較が行われることはありません。However, it does not cause a non-linguistic comparison, for example, for file paths, registry keys, and environment variables. また、比較結果に基づいたセキュリティに関する決定もサポートされません。Neither does it support security decisions based on the comparison result. 非言語的な比較や、結果に基づくセキュリティに関する決定については、アプリケーションは StringComparison 値を受け入れる比較メソッドを使用する必要があります。For a non-linguistic comparison or support for result-based security decisions, the application should use a comparison method that accepts a StringComparison value. アプリケーションは Ordinal を渡します。The application should then pass Ordinal.

関連項目See also