0

我运行以下代码 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 快吗...

4

1 回答 1

6

没有看到任何代码很难说,但是:

这可能是因为有问题的类已经实现了==运算符,因此它不比较引用。相反,它可能是以某种方式比较对象的内容,这当然会慢得多。

string例如,班级会这样做。)

于 2013-11-05T15:34:27.063 回答