我忽略了Equals方法和等于运算符,并且Resharper发出警告说我应该重写GetHashCode。所以我做了。我只是这样做:为了返回base.GetHashCode,重写GetHashCode是否很糟糕?
public override int GetHashCode()
{
return base.GetHashCode();
}
但现在它给了我另一个警告说GetHashCode调用base.GetHashCode。 那么,我会变坏吗?为什么Resharper发出这个警告?我应该创建自己的GetHashCode实现吗?事实上,我在想,为什么我甚至不屑于重写它。
它只是增加了复杂性。 –
如果你不知道你在做什么,返回0;否则当相同的对象被放入不同的桶时,你会遇到难以理解的错误。 – MrDosu
@MrDosu:不是最好的建议。然后你想弄明白为什么你的表演是坦克,并猜测是什么?无论如何你都被迫了解你在做什么。建议:确保你了解你在任何时候都在做什么。不要意外编码。 – sstan