比较引用类型(C#)

比较引用类型(C#),c#,comparison,operator-keyword,C#,Comparison,Operator Keyword,我需要比较我创建的一些引用类型的值。我应该覆盖哪个,Object.Equals方法还是==运算符?我猜是这个对象。Equals是正确的方法,因为我没有比较引用本身。您应该重写Equals()方法(很可能还有GetHashCode()方法,以保持等价性) 另请参见此为了与karim所说的一致,我建议您遵循MSDN准则重载Equals运算符,以及重载==运算符。这为您将来的使用提供了更大的灵活性。可能重复的 public override bool Equals(object obj) { ...

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

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


另请参见此

为了与karim所说的一致,我建议您遵循MSDN准则重载Equals运算符,以及重载==运算符。这为您将来的使用提供了更大的灵活性。

可能重复的
public override bool Equals(object obj) { ... }

public override int GetHashCode() { ... }