08 2013 档案
摘要:.NET程序员都知道,如果我们重写一个类的Equals方法而没有重写GetHashCode,则VS会提示警告 :“***”重写 Object.Equals(object o)但不重写 Object.GetHashCode() 。但是,为什么重写Equals一定要同时重写GetHashCode呢?微软的解释是:GetHashCode基于适合哈希算法和诸如哈希表的数据结构的当前实例返回一个值。两个相等的同类型对象必须返回相同的哈希代码,才能确保以下类型的实例正确运行:HashTableSystem.Collections.SortedListDictionarySortDictionarySort
阅读全文