文章:深入探察相等操作符

  • Jonathan Allen
  • 曹云飞

2008 年 6 月 3 日

话题:.NETC#语言 & 开发架构

覆盖相等操作符是非常容易出错的。不仅因为相等操作符有许多内涵,而且目前有很多指导文档都有瑕疵,甚至在 MSDN 网站上有些指导文档也有瑕疵。

在本文中,作者分别对支持相等操作的引用类型和值类型给出系统的分析,来澄清事实。要正确的覆盖相等操作符,需要注意的事项包括:类签名、成员变量和属性、类型安全的相等方法、哈希码、相等(对象)以及操作符重载。对于每个事项,作者都针对引用类型和值类型给出了例子代码。本文还对覆盖相等操作符的性能问题做了简单的分析。

最后,作者以列表的形式对相等操作符给出了大量测试用例,你可以方便的将这些用例翻译到你最喜欢的单元测试框架中。

更多精彩内容,请阅读全文深入探察相等操作符

.NETC#语言 & 开发架构