Return of .NET |
|
||
宠辱不惊,静观堂前花开花落;去留无意,漫随天外云卷云舒。 |
2011年3月24日
摘要:
.net里的提供了默认的GetHashCode()方法, 但是免费的东西不是好东西,对于reference类型来说,hashcode的实现类似于自增长的计数器,如果数量不是很大,区间分布集中在前端,这样就影响了hash算法的性能。对于value类型来说,算法都不一定是你想要的,因为它默认返回第一个字段的hashcode,设想如果你有两个key字段,当第一个字段相等但是第二个字段不相等时,他们的hashcode却相等!所以必须我们自己动手:一般用异或两个引用类型的hashcode实现:1structMyKey2{3objectField1;4objectField2;56publicMyKey( 阅读全文
|
Copyright © 2024 消化酶
Powered by .NET 8.0 on Kubernetes |