在Effective C#的第二版(ISBN-13: 978-0321658708)的第37页上,书中写道:
谢谢 :)
你永远不会重新定义的第二个函数是静态Object.Equals()
然而,在第39页上,书中写道:
问题在于,如果您的类型应该遵循值语义(比较内容)而不是引用语义(比较对象标识),则应编写自己的instance Object.Equals()覆盖
请问有人能够解释为什么要覆盖它吗?
public virtual bool Equals(object right);
而不是
public static bool Equals(object left, object right);
谢谢 :)