Bob*_*Bob 4 c# inheritance equals object
假设两个对象都不是值类型,并且都表示已重写Equals(...)方法的类型,那么之间是否存在任何功能差异:
obj1.Equals(obj2)Object.Equals(obj1, obj2)
......或者它们在功能上是一样的吗?我正在阅读的Apress书(Pro C#2008),实际上相当不错,将这种方法(以及ReferenceEquals(...))称为"(非常有用的)静态方法",但我很难在这里看到它的好处.
因为ReferenceEquals(...)我可以看到该实用程序,因为它仍然能够确定两个对象是否引用同一个对象(无论Equals(...)方法和==操作符是否被覆盖).
对于另一个......不是那么多; 我在这里错过了一些东西吗?
Object.Equals(obj1,obj2):
如果obj1和obj2是相同的引用,则返回true
如果obj1或obj2为null,则返回false
否则返回obj1.Equals(obj2)