object.Equals与object.ReferenceEquals方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了object.Equals与object.ReferenceEquals方法相关的知识,希望对你有一定的参考价值。

object.Equals方法表达的是语义判等,不一定是引用判等。

object.ReferenceEquals方法是肯定是引用判等。

 

怎么实现一个对象的值语义的 Equals方法?实验。

MyClass bool Equals(MyClass other)

{

   // 1. other==null?

   // 2. 实际type是否相等

   // 3. 简单类型的字段是否相等。调用引用类型的字段的Equals方法。

}

 

Notes:

MyClass对象因的字段,以及引用字段又引用的字段,可能结果是递归遍历一棵树都要实现custom的Equal。

 

以上是关于object.Equals与object.ReferenceEquals方法的主要内容,如果未能解决你的问题,请参考以下文章