我正在寻找逻辑,如果有的话,当从中删除元素时,它会缩小 c# 中的哈希表。
问候 哈里什
最佳答案
c# 哈希表不会收缩;他们只会成长。逻辑很重要,因为重新哈希算法的运行成本非常高;在大多数情况下,通过重新散列到较小的哈希表中节省的空间将完全被重新散列的成本所占用。特别是在自动基础上,哈希表中的任何删除可能不是“最后”删除(无法根据算法从哈希表中判断),潜在值(value)根本不值得。
如果您的哈希表显着缩小,并且您真的想回收空间,我建议您简单地创建一个新的(具有合适的大小)并将元素复制到它。
关于c# 当从哈希表中删除元素时,哈希表如何缩小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/303056/