码迷,mamicode.com
首页 > Windows程序 > 详细

读经典——《CLR via C#》(Jeffrey Richter著) 笔记_对象的相等性和同一性

时间:2015-05-08 19:47:38      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:

【重写Equals注意的事项】

1. Equals 必须是自反的;--x.Equals(x)肯定为 true

2. Equals 必须是对称的;--x.Equals(y)肯定返回与y.Equals(x)相同的值

3. Equals 必须是可传递的;--x.Equals(y)返回true, y.Equals(z)返回true,则x.Equals(z)肯定返回true

4. Equals 必须是一致的。比较的两个值没有变,Equals返回的值(true或false)也不能变

5. 让类型实现 System.IEquatable<T>接口的 Equals 方法,这个泛型接口允许你定义一个类型安全的Equals方法。通常,你实现的Equals方法应获取一个Object参数,以便在内部调用类型安全的Equals方法。

6. 重载 == 和 != 操作符方法 。通常应实现这些操作符方法,在内部调用类型安全的Equals方法。

读经典——《CLR via C#》(Jeffrey Richter著) 笔记_对象的相等性和同一性

标签:

原文地址:http://www.cnblogs.com/lishidefengchen/p/4488584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!