Выполнение в массивах строковых операций, не зависящих от языка и региональных параметров
Перегруженные версии методов Array.Sort и Array.BinarySearch выполняют сортировку с учетом языка и региональных параметров, используя свойство Thread.CurrentCulture. Результат, возвращаемый этими методами, зависит от порядка сортировки в параметрах языка и региональных параметров. Чтобы результат не зависел от языка и региональных параметров, используйте перегрузки этого метода, которые принимают параметр comparer
. Параметр comparer
указывает реализацию IComparer, которую нужно использовать при сравнении элементов массива. Укажите в этом параметре пользовательский инвариантный класс сравнения, который использует CultureInfo.InvariantCulture. Пример настраиваемого инвариантного класса сравнения предлагается в подразделе "Использование класса SortedList" статьи Выполнение в коллекциях строковых операций, не зависящих от языка и региональных параметров.
Примечание.
Если передать CultureInfo.InvariantCulture в метод сравнения, сравнение выполняется без учета языка и региональных параметров. Однако при этом не выполняется нелингвистическое сравнение, например для путей к файлам, разделов реестра и переменных среды. Также не поддерживается принятие решений по безопасности на основе результата сравнения. Для нелингвистического сравнения и (или) поддержки принятия решений по безопасности в приложении следует использовать метод сравнения, который принимает значение StringComparison. Приложение должно передавать Ordinal.