超载等于,这是错的吗?

时间:2010-05-15 02:50:41

标签: c# operators equals

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

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

不应该是这样的(注意!):

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

或者在这种情况下,等于表现不同吗?

1 个答案:

答案 0 :(得分:2)

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