为什么是下面这段代码false
?
Object.Equals(new Object(), new Object())
来自MSDN
Equals 的默认实现支持引用类型的引用相等,以及值类型的按位相等。引用相等意味着被比较的对象引用指向同一个对象。按位相等意味着被比较的对象具有相同的二进制表示。
换句话说,您正在创建两个相同类型的不同对象,并查看它们是否是完全相同的对象,而事实并非如此。
根据MSDN 文档:
Equals 的默认实现支持引用类型的引用相等,以及值类型的按位相等。引用相等意味着被比较的对象引用指向同一个对象。按位相等意味着被比较的对象具有相同的二进制表示。
请注意,派生类型可能会覆盖 Equals 方法以实现值相等。值相等意味着比较对象具有相同的值但不同的二进制表示。
您正在创建两个不同的对象。