C# 超载等于,这是错的吗?

C# 超载等于,这是错的吗?,c#,operators,equals,C#,Operators,Equals,阅读一些代码,我一直看到: public override bool Equals (object obj) { if (obj == null || this.GetType ().Equals (obj.GetType())) return false; //compare code... } 不应该是这样吗(请注意!) 或者在这种情况下,平等者的表现是否有所不同 那看起来像个虫子。当类型相同时返回false肯定不是预期的行为 public override bool

阅读一些代码,我一直看到:

public override bool Equals (object obj)
{ 
    if (obj == null || this.GetType ().Equals (obj.GetType())) return false; 
    //compare code...
}
不应该是这样吗(请注意!)


或者在这种情况下,平等者的表现是否有所不同

那看起来像个虫子。当类型相同时返回false肯定不是预期的行为

public override bool Equals (object obj)
{ 
    if (obj == null || !this.GetType ().Equals (obj.GetType())) return false; 
    //compare code...
}