MetadataStringComparer Структура
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет вспомогательные методы сравнения строк для запроса строк в метаданных, по возможности избегая выделения.
public value class MetadataStringComparer
public struct MetadataStringComparer
public readonly struct MetadataStringComparer
type MetadataStringComparer = struct
Public Structure MetadataStringComparer
- Наследование
Комментарии
Выделение не выполняется, если только аргумент дескриптора и аргумент значения не содержат текст, отличный от ASCII.
Получение экземпляров с помощью StringComparer. Инициализированный по умолчанию экземпляр бесполезен и ведет себя как null
ссылка.
Код оптимизирован таким образом, чтобы при повторном получении компера не было дополнительных издержек при назначении его локальному экземпляру. Это значит, что конструкция выглядит следующим образом:
if (reader.StringComparer.Equals(typeDef.Namespace, "System") && reader.StringComparer.Equals(typeDef.Name, "Object")
{
/* found System.Object */
}
не менее эффективен, чем:
var comparer = reader.StringComparer;
if (comparer.Equals(typeDef.Namespace, "System") && comparer.Equals(typeDef.Name, "Object")
{
/* found System.Object */
}
Поэтому выбор между ними является одним из стилей, а не производительностью.