比较参考类型(C#)

时间:2014-04-25 02:40:56

标签: c# comparison operator-keyword

我需要比较一下我创建的一些引用类型的值。我应该覆盖哪些,Object.Equals方法或==运算符?我猜测Object.Equals是正确的方法,因为我没有比较引用本身。

2 个答案:

答案 0 :(得分:1)

你应该覆盖Equals()方法(也很可能是GetHashCode()方法,以保持等价)

public override bool Equals(object obj) { ... }

public override int GetHashCode() { ... }

Please see the msdn reference on the topic

另见possible duplicate

答案 1 :(得分:1)

为了配合karim所说的内容,我建议您按照MSDN指南重载Equals运算符,以及重载==运算符。这为您将来的使用提供了更多的灵活性。