比较引用类型(C#)

本文关键字:引用类型 比较 | 更新日期: 2023-09-27 18:00:06

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

比较引用类型(C#)

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

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

请参阅主题的msdn参考

另请参阅此可能重复的

为了理解karim所说的,我建议您遵循MSDN关于重载Equals运算符以及重载==运算符的指导原则。这让您在未来的使用中有了更多的灵活性。