Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приводятся дополнительные замечания к справочной документации по этому API.
Объект, производный от StringComparer класса, воплощает строковое сравнение, равенство и хэш-кодовые операции, которые учитывают как регистр, так и правила сравнения, зависящие от языка и региональных параметров. Вы можете использовать класс StringComparer для создания сравнения, специфичного для типа, чтобы отсортировать элементы в универсальной коллекции. Такие классы, как Hashtable, Dictionary<TKey,TValue>SortedListи SortedList<TKey,TValue> используют StringComparer класс для сортировки.
Операция сравнения, представляемая классом StringComparer, может быть определена как чувствительная к регистру или нечувствительная к регистру и использовать правила сравнения, учитывающие язык и региональные настройки (сравнение слов), или не учитывающие их (лексикографическое сравнение). Дополнительные сведения о правилах сравнения слов и порядкового номера см. в разделе System.Globalization.CompareOptions.
Замечание
Вы можете скачать таблицу элементов коллации Юникода по умолчанию, последнюю версию таблицы весов сортировки. Конкретная версия таблицы веса сортировки зависит от версии международных компонентов библиотек Юникода, установленных в системе. Сведения о версиях ICU и версиях Юникода, которые они реализуют, см. в разделе "Скачивание ICU".
Для .NET Framework в Windows можно скачать набор текстовых файлов, содержащих сведения о весах символов, используемых в операциях сортировки и сравнения.
Реализованные свойства
Возможно, вы запутались в том, как использовать StringComparer свойства класса из-за кажущегося противоречия. Класс StringComparer объявлен abstract
(MustInherit
в Visual Basic), что означает, что его члены могут вызываться только для объекта класса, производного от StringComparer класса. Противоречие заключается в том, что каждое свойство StringComparer класса объявляется static
(Shared
в Visual Basic), что означает, что свойство может вызываться без первого создания производного класса.
Можно вызвать свойство напрямую StringComparer , так как каждое свойство фактически возвращает экземпляр анонимного класса, производного от StringComparer класса. Следовательно, тип каждого значения свойства — StringComparerэто базовый класс анонимного класса, а не тип самого анонимного класса. Каждое свойство класса StringComparer возвращает объект, поддерживающий предопределенные правила регистра и сравнения.