Div*_*ero 3 .net c# hashtable equals
在.NET中,只要我们为类重写Equals()方法,通常的做法就是也重写GetHashCode()方法。当在哈希表和字典中使用该对象时,这样做将确保更好的性能。仅当两个键的GetHashCode()值相同时,它们才视为在Hashtable中相等。我的问题是,为什么Hashtables不能使用Equals()方法比较键?那会消除重写GetHashCode()方法的负担。
Hab*_*bib 5
HastTable / Dictionaries Equals在发生冲突的情况下使用(两个哈希码相同时)。
Equals
他们为什么不使用只 Equals?
因为那将需要比访问/ (比较)整数值(哈希码)更多的处理。(由于将哈希码用作索引,因此它们具有O(1)的复杂度)
归档时间:
10 年 前
查看次数:
637 次
最近记录: