微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么情况下_buckets[bucketNumber].key == _buckets && ((_buckets[bucketNumber].hash_coll & unchecked(0x80000000)) == 0)) in Hashtable

如何解决什么情况下_buckets[bucketNumber].key == _buckets && ((_buckets[bucketNumber].hash_coll & unchecked(0x80000000)) == 0)) in Hashtable

https://source.dot.net/#System.Private.CoreLib/Hashtable.cs

code

在什么条件下会执行这个逻辑_buckets[bucketNumber].key == _buckets && ((_buckets[bucketNumber].hash_coll & unchecked(0x80000000)) == 0))

当该桶曾经包含一个条目并且在 Remove 中发生冲突时,该键被设置为 _buckets

解决方法

阅读评论很清楚:如果桶存在并且里面没有其他值(即如果它从未使用过),或者如果有一个值(没有冲突)并且后来被删除,从而使桶为空.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。