18

そして、なぜコードで一方を他方に使用するのでしょうか?

4

2 に答える 2

11

注意: この回答は古くなっているようです。.NET 4 が利用可能になる前に投稿されたため、明らかにいくつかの最適化が導入Typeされたため、この回答の情報は廃止されました。詳細については、この最新の回答を参照してください。

Vance Morrison によるこのブログ投稿 (2006 年から)によると、はアンマネージ ポインターをラップするRuntimeTypeHandle値型 ( ) であるため、厳密な「まったく同じ型」の比較に使用する方が高速です。 、重い。structType.GetTypeHandle(obj).Equals(anotherHandle)obj.GetType().Equals(anotherType)System.Type

ただし、これはそれほど明白ではなく、間違いなく「マイクロ最適化」のカテゴリに分類されるため、どちらが必要か迷っている場合は、おそらく System.Type を使用する必要があります。

于 2008-09-02T19:28:14.047 に答える