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