MetadataStringComparer 结构

定义

提供字符串比较帮助程序来查询元数据中的字符串,同时尽可能避免分配。

public value class MetadataStringComparer
public struct MetadataStringComparer
type MetadataStringComparer = struct
Public Structure MetadataStringComparer
继承
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 */
}

因此,它们之间的选择是一种风格,而不是性能。

方法

名称 说明
Equals(NamespaceDefinitionHandle, String)

提供字符串比较帮助程序来查询元数据中的字符串,同时尽可能避免分配。

Equals(StringHandle, String)

提供字符串比较帮助程序来查询元数据中的字符串,同时尽可能避免分配。

StartsWith(StringHandle, String)

提供字符串比较帮助程序来查询元数据中的字符串,同时尽可能避免分配。

适用于