Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
次のコードを 10000 回実行します (a と b はどちらもクラス C のインスタンスです)。
1.ReferenceEquals(a,b) 0.1 ms 2.a==b 0.7 ms 3.a.Equals(b) 0.8 ms
1 が 2 や 3 より速い理由を教えてください...
コードを見ずに言うのは難しいですが、次のとおりです。
これはおそらく、問題のクラスが==演算子を実装しているため、参照を比較しないためです。代わりに、何らかの方法でオブジェクトの内容を比較している可能性が高く、もちろんかなり遅くなります。
==
(stringたとえば、クラスはこれを行います。)
string