我需要比较一下我创建的一些引用类型的值。我应该覆盖哪些,Object.Equals方法或==运算符?我猜测Object.Equals是正确的方法,因为我没有比较引用本身。
答案 0 :(得分:1)
你应该覆盖Equals()方法(也很可能是GetHashCode()方法,以保持等价)
public override bool Equals(object obj) { ... }
public override int GetHashCode() { ... }
答案 1 :(得分:1)
为了配合karim所说的内容,我建议您按照MSDN指南重载Equals运算符,以及重载==运算符。这为您将来的使用提供了更多的灵活性。