然而,这只是个理想情况,实际上确是:
Rule:当对象包含在依赖于哈希代码保持稳定的数据结构中时, GetHashCode 返回的整数决不能更改
使一个对象的hash值随着对象的字段变化而变化是可行的,...但是其中有一定的风险,如果您有这样一个对象,并且将其放在哈希表中, 则需要一些协议来确保对象在哈希表中不会突变, 从而使对象和维护哈希表的代码保持一致。...Rule:GetHashCode的消费者不能依赖于时间或者跨程序集操作
假设您有一个对象, 其中有一组字段, 如名称、地址等。...我把它归类为 "指南" 而不是 "规则", 因为它是如此含糊。什么才叫慢?这由你来决定。...hash表中用于服务端分析,如果用户怀有敌意, 并且故意制造大量的数据, 总是对同一桶进行哈希运算, 那么他们就可以通过使服务器浪费大量时间查看不平衡的哈希表来对服务器发起拒绝服务攻击。