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 */
}
したがって、これらの間の選択はスタイルの 1 つであり、パフォーマンスではありません。