Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Операции над строками с учетом культуры полезны, если вы создаете приложения, предназначенные для отображения результатов пользователям на основе их культурных предпочтений. По умолчанию методы, зависящие от культурных параметров, получают используемые культурные параметры из свойства CurrentCulture для текущего потока.
Иногда чувствительные к культуре строковые операции не являются нужным поведением. Использование операций с учетом языка и региональных параметров, когда результаты должны быть независимыми от языка и региональных параметров, могут привести к сбою кода приложения с помощью настраиваемых сопоставлений регистров и правил сортировки. Пример см. в разделе "Сравнения строк с использованием текущих региональных параметров" в "Рекомендациях по использованию строк".
Зависимость строковых операций от учета культурных норм или их игнорирования определяется тем, как ваше приложение использует результаты. Строковые операции, отображающие результаты для пользователя, обычно должны быть чувствительными к культурным особенностям. Например, если приложение отображает отсортированный список локализованных строк в поле списка, приложение должно выполнить сортировку с учетом языка и региональных параметров.
Результаты строковых операций, которые используются внутренне, обычно должны быть нечувствительными к культурным особенностям. Как правило, если приложение работает с именами файлов, форматами сохраняемости или символьными сведениями, которые не отображаются пользователю, результаты строковых операций не должны отличаться в зависимости от языка и региональных параметров. Например, если приложение сравнивает строку, чтобы определить, является ли она распознаваемым XML-тегом, сравнение не должно быть чувствительным к культурным особенностям. Кроме того, если решение о безопасности основано на результатах операции сравнения строк или изменения регистра, операция должна быть нечувствительной к культуре, чтобы гарантировать, что значение CurrentCulture не влияет на результат.
Большинство методов .NET, которые по умолчанию выполняют операции строки с учетом языка и региональных параметров, также предоставляют перегрузку, которая позволяет гарантировать нечувствительные результаты с учетом языка и региональных параметров. Эти перегрузки, которые принимают CultureInfo аргумент, позволяют исключить культурные вариации в сопоставлениях и правилах сортировки. Для нечувствительных к языку и региональным параметрам операций со строками, назначьте культуру как CultureInfo.InvariantCulture.
В этом разделе
В статьях этого раздела показано, как выполнять не зависящие от языка и региональных настроек строковые операции с помощью методов .NET, которые по умолчанию чувствительны к языковым и региональным настройкам.
Выполнение сравнения строк без учета культурных особенностей
Описывает, как использовать методы String.Compare и String.CompareTo для выполнения сравнения строк, не зависящего от языка и региональных параметров.
Выполнение изменений регистра без учета культурных особенностей
Описывает, как использовать методы String.ToUpper, String.ToLower, Char.ToUpper и Char.ToLower для выполнения регистрозависимых изменений без учета языковых и региональных параметров.
Выполнение строковых операций, нечувствительных к культурным особенностям в коллекциях
Описывает, как использовать CaseInsensitiveComparer, класс CaseInsensitiveHashCodeProvider, SortedList, ArrayList.Sort и CollectionsUtil.CreateCaseInsensitiveHashtable для выполнения операций в коллекциях, не зависящих от языковых и культурных параметров.
Выполнение строковых операций, не учитывающих культурные особенности, в массивах
Описывает, как использовать методы Array.Sort и Array.BinarySearch для выполнения операций, нечувствительных к языку и региональным настройкам, в массивах.