英語で読む

次の方法で共有


MetadataStringComparer 構造体

定義

可能な場合は割り当てを回避しながら、メタデータ内のクエリ文字列に文字列比較ヘルパーを提供します。

C#
public struct MetadataStringComparer
C#
public readonly struct MetadataStringComparer
継承
MetadataStringComparer

注釈

handle 引数と value 引数の両方に ASCII 以外のテキストが含まれている場合を除き、割り当ては実行されません。

を使用してインスタンスを StringComparer取得します。 既定で初期化されたインスタンスは役に立たず、参照として null 動作します。

コードは、ローカルに割り当てるよりも比較子を再取得する際の追加のオーバーヘッドがないように最適化されています。 つまり、次のようなコンストラクトがあるとします。

cs
if (reader.StringComparer.Equals(typeDef.Namespace, "System") && reader.StringComparer.Equals(typeDef.Name, "Object")
{
    /* found System.Object */
}

は、次に示すよりも効率的ではありません。

cs
var comparer = reader.StringComparer;
if (comparer.Equals(typeDef.Namespace, "System") && comparer.Equals(typeDef.Name, "Object") 
{ 
    /* found System.Object */
}

したがって、これらの間の選択はスタイルの 1 つであり、パフォーマンスではありません。

メソッド

Equals(DocumentNameBlobHandle, String, Boolean)

可能な場合は割り当てを回避しながら、メタデータ内のクエリ文字列に文字列比較ヘルパーを提供します。

Equals(DocumentNameBlobHandle, String)

可能な場合は割り当てを回避しながら、メタデータ内のクエリ文字列に文字列比較ヘルパーを提供します。

Equals(NamespaceDefinitionHandle, String, Boolean)

可能な場合は割り当てを回避しながら、メタデータ内のクエリ文字列に文字列比較ヘルパーを提供します。

Equals(NamespaceDefinitionHandle, String)

可能な場合は割り当てを回避しながら、メタデータ内のクエリ文字列に文字列比較ヘルパーを提供します。

Equals(StringHandle, String, Boolean)

可能な場合は割り当てを回避しながら、メタデータ内のクエリ文字列に文字列比較ヘルパーを提供します。

Equals(StringHandle, String)

可能な場合は割り当てを回避しながら、メタデータ内のクエリ文字列に文字列比較ヘルパーを提供します。

StartsWith(StringHandle, String, Boolean)

可能な場合は割り当てを回避しながら、メタデータ内のクエリ文字列に文字列比較ヘルパーを提供します。

StartsWith(StringHandle, String)

可能な場合は割り当てを回避しながら、メタデータ内のクエリ文字列に文字列比較ヘルパーを提供します。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8 (package-provided), 8, 9 (package-provided), 9, 10 (package-provided), 10
.NET Standard 2.0 (package-provided)
UWP 10.0