在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
C# GetHashCode、Equals函数和键值对集合的关系说明HashCode:Hash码。 下面一张图中,只有和“错号”一行或一列的才有意义。
namespace JustTest { class Program { static void Main(string[] args) { var t = new Hashtable(); t.Add(new user { }, 1); t.Add(new user { }, 2); } } class user { public override int GetHashCode() { Console.WriteLine("GetHashCode校验"); return 1; } public override bool Equals(object o) { Console.WriteLine("Equals校验"); return base.Equals(o); } } } 启示可以进行代码优化:判断对象(或者字符串)是否存在时常常看到直接Equals的,但是更好的做法就是先判断两个值的hashcode是否相等,不相等的话直接添加就好了,如果相等的话然后再Equals判断是否相等 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论