MetadataStringComparer 구조체

정의

가능하면 할당을 방지하면서 메타데이터의 문자열을 쿼리하기 위한 문자열 비교 도우미를 제공합니다.

public value class MetadataStringComparer
public struct MetadataStringComparer
public readonly 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(DocumentNameBlobHandle, String)
Equals(DocumentNameBlobHandle, String, Boolean)
Equals(NamespaceDefinitionHandle, String)
Equals(NamespaceDefinitionHandle, String, Boolean)
Equals(StringHandle, String)
Equals(StringHandle, String, Boolean)
StartsWith(StringHandle, String)
StartsWith(StringHandle, String, Boolean)

적용 대상