Return of .NET  
宠辱不惊,静观堂前花开花落;去留无意,漫随天外云卷云舒。

2011年3月24日

摘要: .net里的提供了默认的GetHashCode()方法, 但是免费的东西不是好东西,对于reference类型来说,hashcode的实现类似于自增长的计数器,如果数量不是很大,区间分布集中在前端,这样就影响了hash算法的性能。对于value类型来说,算法都不一定是你想要的,因为它默认返回第一个字段的hashcode,设想如果你有两个key字段,当第一个字段相等但是第二个字段不相等时,他们的hashcode却相等!所以必须我们自己动手:一般用异或两个引用类型的hashcode实现:1structMyKey2{3objectField1;4objectField2;56publicMyKey( 阅读全文
posted @ 2011-03-24 22:13 消化酶 阅读(620) 评论(1) 推荐(1) 编辑