Выполнение в массивах строковых операций, не зависящих от языка и региональных параметров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.For the parameter, specify a custom invariant comparer class that uses CultureInfo.InvariantCulture. Пример настраиваемого инвариантного класса сравнения предлагается в подразделе "Использование класса 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 в метод сравнения, сравнение выполняется без учета языка и региональных параметров.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