CompareInfo Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Реализует набор методов для сравнения строк с учетом языка и региональных параметров.
public ref class CompareInfo
public ref class CompareInfo sealed : System::Runtime::Serialization::IDeserializationCallback
public ref class CompareInfo : System::Runtime::Serialization::IDeserializationCallback
public class CompareInfo
public sealed class CompareInfo : System.Runtime.Serialization.IDeserializationCallback
public class CompareInfo : System.Runtime.Serialization.IDeserializationCallback
[System.Serializable]
public class CompareInfo : System.Runtime.Serialization.IDeserializationCallback
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class CompareInfo : System.Runtime.Serialization.IDeserializationCallback
type CompareInfo = class
type CompareInfo = class
interface IDeserializationCallback
[<System.Serializable>]
type CompareInfo = class
interface IDeserializationCallback
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CompareInfo = class
interface IDeserializationCallback
Public Class CompareInfo
Public NotInheritable Class CompareInfo
Implements IDeserializationCallback
Public Class CompareInfo
Implements IDeserializationCallback
- Наследование
-
CompareInfo
- Атрибуты
- Реализации
Комментарии
Конвенции о сравнении и сортировке данных варьируются в зависимости от культуры. Например, порядок сортировки может зависеть от фонетики или визуального представления символов. В восточноазиатских языках иероглифы сортируются по росчерку и радикалу. Сортировка также зависит от порядка алфавита, используемого в различных языках и культурах. Например, датский язык имеет символ "Æ", который сортируется после "Z" в алфавите. Кроме того, сравнения могут быть чувствительными к регистру или нечувствительными к регистру, а правила регистра могут различаться в зависимости от культурных особенностей. Класс CompareInfo отвечает за поддержание данных для сравнения строк с учетом культурных особенностей и выполнение операций с учетом этих особенностей.
Как правило, не нужно создавать экземпляр CompareInfo объекта напрямую, так как он используется неявно всеми операциями сравнения строк без порядкового номера, включая вызовы String.Compare метода. Однако если вы хотите получить CompareInfo объект, это можно сделать одним из следующих способов:
Извлекая значение свойства для определенной культуры.
Вызывая статический GetCompareInfo метод с именем культуры. Это позволяет получить доступ к объекту с поздней привязкой CompareInfo .
Игнорированные значения поиска
Наборы символов включают игнорируемые символы, которые не учитываются при выполнении лингвистического или учитывающего культуру сравнения. Такие методы сравнения, как IndexOf и LastIndexOf не учитывают такие символы при выполнении сравнения с учетом языка и региональных параметров. Игнорируемые символы включают:
String.Empty. Методы сравнения, учитывающие культурные особенности, всегда будут находить пустую строку в начале (индексе ноль) строки для поиска.
Символ или строка, состоящая из символов с кодовыми точками, которые исключаются из операции из-за параметров сравнения. В частности, параметры CompareOptions.IgnoreNonSpace и CompareOptions.IgnoreSymbols создают поиск, в котором символы и неразделимые составные символы игнорируются.
Строка с точками кода, не имеющими лингвистического значения. Например, мягкий дефис (U+00AD) всегда игнорируется в сравнении строк с учетом языка и региональных параметров.
Вопросы безопасности
Если решение безопасности зависит от сравнения строк или изменения регистра, следует использовать свойство InvariantCulture, чтобы обеспечить согласованность поведения независимо от настроек языка и региона операционной системы.
Замечание
По возможности следует использовать методы сравнения строк, имеющие параметр типа CompareOptions , чтобы указать ожидаемый тип сравнения. В качестве общего правила используйте языковые параметры (с использованием текущего языка и региональных параметров) для сравнения строк, отображаемых в пользовательском интерфейсе, и укажите Ordinal или OrdinalIgnoreCase для безопасных сравнений.
Пример
The following example shows how the <xref:System.Globalization.CompareInfo> object associated with a <xref:System.Globalization.CultureInfo> object affects string comparison.
:::code language="csharp" source="~/snippets/csharp/System.Globalization/CompareInfo/Overview/CompareInfo.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Globalization/CompareInfo/Overview/CompareInfo.vb" id="Snippet1":::
Свойства
| Имя | Описание |
|---|---|
| LCID |
Возвращает правильный идентификатор языка и региональных параметров для текущего CompareInfo. |
| Name |
Возвращает имя языка и региональных параметров, используемых для операций сортировки по этому CompareInfo объекту. |
| Version |
Возвращает сведения о версии Юникода, используемой для сравнения и сортировки строк. |
Методы
| Имя | Описание |
|---|---|
| Compare(ReadOnlySpan<Char>, ReadOnlySpan<Char>, CompareOptions) |
Сравнивает два диапазона символов только для чтения. |
| Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) |
Сравнивает раздел одной строки с разделом другой строки с помощью указанного CompareOptions значения. |
| Compare(String, Int32, Int32, String, Int32, Int32) |
Сравнивает раздел одной строки с разделом другой строки. |
| Compare(String, Int32, String, Int32, CompareOptions) |
Сравнивает конечный раздел строки с конечным разделом другой строки с указанным значением CompareOptions . |
| Compare(String, Int32, String, Int32) |
Сравнивает конечный раздел строки с конечным разделом другой строки. |
| Compare(String, String, CompareOptions) |
Сравнивает две строки с указанным CompareOptions значением. |
| Compare(String, String) |
Сравнивает две строки. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему CompareInfo объекту. |
| GetCompareInfo(Int32, Assembly) |
Инициализирует новый CompareInfo объект, связанный с указанным языком и региональными параметрами, и использующий методы сравнения строк в указанном.Assembly |
| GetCompareInfo(Int32) |
Инициализирует новый CompareInfo объект, связанный с языком и региональными параметрами с указанным идентификатором. |
| GetCompareInfo(String, Assembly) |
Инициализирует новый CompareInfo объект, связанный с указанным языком и региональными параметрами, и использующий методы сравнения строк в указанном.Assembly |
| GetCompareInfo(String) |
Инициализирует новый CompareInfo объект, связанный с языком и региональными параметрами с указанным именем. |
| GetHashCode() |
Служит хэш-функцией для текущих CompareInfo хэш-алгоритмов и структур данных, таких как хэш-таблица. |
| GetHashCode(ReadOnlySpan<Char>, CompareOptions) |
Возвращает хэш-код для диапазона символов на основе указанных параметров сравнения. |
| GetHashCode(String, CompareOptions) |
Возвращает хэш-код строки на основе указанных параметров сравнения. |
| GetSortKey(ReadOnlySpan<Char>, Span<Byte>, CompareOptions) |
Вычисляет ключ сортировки для указанных входных данных. |
| GetSortKey(String, CompareOptions) |
Возвращает объект для указанной SortKey строки с помощью указанного CompareOptions значения. |
| GetSortKey(String) |
Возвращает ключ сортировки для указанной строки. |
| GetSortKeyLength(ReadOnlySpan<Char>, CompareOptions) |
Возвращает общее количество байтов ключей сортировки, которые будут созданы из указанных входных данных. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IndexOf(ReadOnlySpan<Char>, ReadOnlySpan<Char>, CompareOptions, Int32) |
Выполняет поиск первого вхождения подстроки в исходной строке. |
| IndexOf(ReadOnlySpan<Char>, ReadOnlySpan<Char>, CompareOptions) |
Выполняет поиск первого вхождения подстроки в пределах указанного диапазона символов только для чтения. |
| IndexOf(ReadOnlySpan<Char>, Rune, CompareOptions) |
Выполняет поиск первого вхождения Rune символов, доступных только для чтения. |
| IndexOf(String, Char, CompareOptions) |
Выполняет поиск указанного символа и возвращает отсчитываемый от нуля индекс первого вхождения в пределах всей исходной строки с помощью указанного CompareOptions значения. |
| IndexOf(String, Char, Int32, CompareOptions) |
Выполняет поиск указанного символа и возвращает отсчитываемый от нуля индекс первого вхождения в разделе исходной строки, которая расширяется от указанного индекса до конца строки с использованием указанного CompareOptions значения. |
| IndexOf(String, Char, Int32, Int32, CompareOptions) |
Выполняет поиск указанного символа и возвращает отсчитываемый от нуля индекс первого вхождения в разделе исходной строки, которая начинается с указанного индекса и содержит указанное число элементов с использованием указанного CompareOptions значения. |
| IndexOf(String, Char, Int32, Int32) |
Выполняет поиск указанного символа и возвращает отсчитываемый от нуля индекс первого вхождения в разделе исходной строки, которая начинается с указанного индекса и содержит указанное число элементов. |
| IndexOf(String, Char, Int32) |
Выполняет поиск указанного символа и возвращает отсчитываемый от нуля индекс первого вхождения в разделе исходной строки, которая расширяется от указанного индекса до конца строки. |
| IndexOf(String, Char) |
Выполняет поиск указанного символа и возвращает отсчитываемый от нуля индекс первого вхождения в пределах всей исходной строки. |
| IndexOf(String, String, CompareOptions) |
Выполняет поиск указанной подстроки и возвращает отсчитываемый от нуля индекс первого вхождения в пределах всей исходной строки с помощью указанного CompareOptions значения. |
| IndexOf(String, String, Int32, CompareOptions) |
Выполняет поиск указанной подстроки и возвращает отсчитываемый от нуля индекс первого вхождения в разделе исходной строки, которая расширяется от указанного индекса до конца строки, используя указанное CompareOptions значение. |
| IndexOf(String, String, Int32, Int32, CompareOptions) |
Выполняет поиск указанной подстроки и возвращает отсчитываемый от нуля индекс первого вхождения в разделе исходной строки, которая начинается с указанного индекса и содержит указанное число элементов, использующих указанное CompareOptions значение. |
| IndexOf(String, String, Int32, Int32) |
Выполняет поиск указанной подстроки и возвращает отсчитываемый от нуля индекс первого вхождения в разделе исходной строки, которая начинается с указанного индекса и содержит указанное число элементов. |
| IndexOf(String, String, Int32) |
Выполняет поиск указанной подстроки и возвращает отсчитываемый от нуля индекс первого вхождения в разделе исходной строки, которая простирается от указанного индекса до конца строки. |
| IndexOf(String, String) |
Выполняет поиск указанной подстроки и возвращает отсчитываемый от нуля индекс первого вхождения в пределах всей исходной строки. |
| IsPrefix(ReadOnlySpan<Char>, ReadOnlySpan<Char>, CompareOptions, Int32) |
Определяет, начинается ли строка с определенного префикса. |
| IsPrefix(ReadOnlySpan<Char>, ReadOnlySpan<Char>, CompareOptions) |
Определяет, начинается ли диапазон символов только для чтения с определенным префиксом. |
| IsPrefix(String, String, CompareOptions) |
Определяет, начинается ли указанная исходная строка с указанным префиксом с использованием указанного CompareOptions значения. |
| IsPrefix(String, String) |
Определяет, начинается ли указанная исходная строка с указанным префиксом. |
| IsSortable(Char) |
Указывает, можно ли сортировать указанный символ Юникода. |
| IsSortable(ReadOnlySpan<Char>) |
Указывает, можно ли сортировать указанный диапазон символов только для чтения Юникода. |
| IsSortable(Rune) |
Указывает, можно ли сортировать указанный объект Rune . |
| IsSortable(String) |
Указывает, можно ли сортировать указанную строку Юникода. |
| IsSuffix(ReadOnlySpan<Char>, ReadOnlySpan<Char>, CompareOptions, Int32) |
Определяет, заканчивается ли строка определенным суффиксом. |
| IsSuffix(ReadOnlySpan<Char>, ReadOnlySpan<Char>, CompareOptions) |
Определяет, заканчивается ли диапазон символов только для чтения определенным суффиксом. |
| IsSuffix(String, String, CompareOptions) |
Определяет, заканчивается ли указанная исходная строка указанным суффиксом с помощью указанного CompareOptions значения. |
| IsSuffix(String, String) |
Определяет, заканчивается ли указанная исходная строка указанным суффиксом. |
| LastIndexOf(ReadOnlySpan<Char>, ReadOnlySpan<Char>, CompareOptions, Int32) |
Ищет последнее вхождение подстроки в исходной строке. |
| LastIndexOf(ReadOnlySpan<Char>, ReadOnlySpan<Char>, CompareOptions) |
Ищет последнее вхождение подстроки в указанном диапазоне символов только для чтения. |
| LastIndexOf(ReadOnlySpan<Char>, Rune, CompareOptions) |
Ищет последнее вхождение символов Rune в заданном диапазоне символов только для чтения. |
| LastIndexOf(String, Char, CompareOptions) |
Выполняет поиск указанного символа и возвращает отсчитываемый от нуля индекс последнего вхождения в пределах всей исходной строки с помощью указанного CompareOptions значения. |
| LastIndexOf(String, Char, Int32, CompareOptions) |
Выполняет поиск указанного символа и возвращает отсчитываемый от нуля индекс последнего вхождения в разделе исходной строки, которая расширяется с начала строки до указанного индекса с использованием указанного CompareOptions значения. |
| LastIndexOf(String, Char, Int32, Int32, CompareOptions) |
Выполняет поиск указанного символа и возвращает отсчитываемый от нуля индекс последнего вхождения в разделе исходной строки, содержащей указанное число элементов и заканчивается на указанном индексе с помощью указанного CompareOptions значения. |
| LastIndexOf(String, Char, Int32, Int32) |
Выполняет поиск указанного символа и возвращает отсчитываемый от нуля индекс последнего вхождения в разделе исходной строки, содержащей указанное число элементов и заканчивается на указанном индексе. |
| LastIndexOf(String, Char, Int32) |
Выполняет поиск указанного символа и возвращает отсчитываемый от нуля индекс последнего вхождения в разделе исходной строки, которая расширяется с начала строки до указанного индекса. |
| LastIndexOf(String, Char) |
Выполняет поиск указанного символа и возвращает отсчитываемый от нуля индекс последнего вхождения в пределах всей исходной строки. |
| LastIndexOf(String, String, CompareOptions) |
Выполняет поиск указанной подстроки и возвращает отсчитываемый от нуля индекс последнего вхождения в пределах всей исходной строки с помощью указанного CompareOptions значения. |
| LastIndexOf(String, String, Int32, CompareOptions) |
Выполняет поиск указанной подстроки и возвращает отсчитываемый от нуля индекс последнего вхождения в разделе исходной строки, которая расширяется с начала строки до указанного индекса с использованием указанного CompareOptions значения. |
| LastIndexOf(String, String, Int32, Int32, CompareOptions) |
Выполняет поиск указанной подстроки и возвращает отсчитываемый от нуля индекс последнего вхождения в разделе исходной строки, содержащей указанное число элементов и заканчивается на указанном индексе с помощью указанного CompareOptions значения. |
| LastIndexOf(String, String, Int32, Int32) |
Выполняет поиск указанной подстроки и возвращает отсчитываемый от нуля индекс последнего вхождения в разделе исходной строки, содержащей указанное число элементов и заканчивается на указанном индексе. |
| LastIndexOf(String, String, Int32) |
Выполняет поиск указанной подстроки и возвращает отсчитываемый от нуля индекс последнего вхождения в разделе исходной строки, которая расширяется с начала строки до указанного индекса. |
| LastIndexOf(String, String) |
Выполняет поиск указанной подстроки и возвращает отсчитываемый от нуля индекс последнего вхождения в пределах всей исходной строки. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий CompareInfo объект. |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IDeserializationCallback.OnDeserialization(Object) |
Выполняется при десериализации всего графа объектов. |
Методы расширения
| Имя | Описание |
|---|---|
| GetStringComparer(CompareInfo, CompareOptions) |
StringComparer Возвращает объект на основе правил сравнения строк с учетом языка и региональных параметров указанного CompareInfo объекта. |