我忽略了Equals方法和等於運算符,並且Resharper發出警告說我應該重寫GetHashCode。所以我做了。我只是這樣做:爲了返回base.GetHashCode,重寫GetHashCode是否很糟糕?
public override int GetHashCode()
{
return base.GetHashCode();
}
但現在它給了我另一個警告說GetHashCode調用base.GetHashCode。 那麼,我會變壞嗎?爲什麼Resharper發出這個警告?我應該創建自己的GetHashCode實現嗎?事實上,我在想,爲什麼我甚至不屑於重寫它。
它只是增加了複雜性。 –
如果你不知道你在做什麼,返回0;否則當相同的對象被放入不同的桶時,你會遇到難以理解的錯誤。 – MrDosu
@MrDosu:不是最好的建議。然後你想弄明白爲什麼你的表演是坦克,並猜測是什麼?無論如何你都被迫瞭解你在做什麼。建議:確保你瞭解你在任何時候都在做什麼。不要意外編碼。 – sstan