【问题标题】:Comparing reference types (C#)比较引用类型 (C#)
【发布时间】:2014-04-25 02:40:55
【问题描述】:

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

【问题讨论】:

标签: c# comparison operator-keyword


【解决方案1】:

您应该重写 Equals() 方法(很可能还有 GetHashCode() 方法,以保持等价性)

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

public override int GetHashCode() { ... }

Please see the msdn reference on the topic

另见possible duplicate

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2019-09-28
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多