MetadataStringComparer 结构
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供字符串比较帮助程序以查询元数据中的字符串,同时尽可能避免分配。
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 */
}
因此,它们之间的选择是风格之一,而不是性能。