C#中Equal与==的使用原则
来源:互联网 发布:芙丽芳丝洗面奶知乎 编辑:程序博客网 时间:2024/05/16 12:55
Equal与==都可以被重写,但要把握的原则是:
重写Equal来表示值相等,而不重写==继续让其表示引用相同
class Person{ public Person(int id) { ID = id; } public string ID{get; private set;} public override bool Equals(object obj) { Person p = obj as Person; if(p == null) return false; return ID == p.ID; } // 这里要注意,一定要重写GetHashCode()方法 // 否则会出现当值相等的两个Person做为key在Dictionary中时,会认为是两个不同的key pubic override int GetHashCode() { return ID.GetHashCode(); } }
阅读全文
0 0
- C#中Equal与==的使用原则
- C#中equal与==的区别
- C#中equal与==的区别
- 对比C#中==与equal方法
- C# 中==和Equal的区别
- java中 == 与 equal 的区别
- java中 == 与 equal 的区别
- Java中==与equal的区别
- java中 == 与 equal 的区别
- java中 == 与 equal 的区别
- java 中“==”与“equal” 的区别
- Java中关于==与equal的比较
- Java中“==” 与 “equal”的区别
- java中equal与==的区别
- java中==与equal()方法的区别
- java 中“==”与“equal” 的区别
- java中 == 与 equal 的区别
- java中equal()与==的区别简记
- DUTOJ 1110 比赛成绩 DFS 并查集
- POJ 2796:Feel Good (单调栈)
- python 多进程实例 进程间的通信
- VS2015动态库编程之MFC扩展动态库(下)
- python18运维应用
- C#中Equal与==的使用原则
- HttpClient爬取网站及图片
- Python语言学习之一:环境搭建,执行方式及主模块和非主模块
- Tensorflow学习——ReLu
- Linux下线程
- Codeforces 670D2 Magic Powder-2
- log4j + slf4j的maven配置
- 如何通过SSH反向隧道,访问NAT后面的Linux服务器?----本人备注
- opencv3.2.0中approxPolyDP函数使用效果