c# 当从哈希表中删除元素时,哈希表如何缩小?

标签 c# .net .net-2.0 hashtable

我正在寻找逻辑,如果有的话,当从中删除元素时,它会缩小 c# 中的哈希表。

问候 哈里什

最佳答案

c# 哈希表不会收缩;他们只会成长。逻辑很重要,因为重新哈希算法的运行成本非常高;在大多数情况下,通过重新散列到较小的哈希表中节省的空间将完全被重新散列的成本所占用。特别是在自动基础上,哈希表中的任何删除可能不是“最后”删除(无法根据算法从哈希表中判断),潜在值(value)根本不值得。

如果您的哈希表显着缩小,并且您真的想回收空间,我建议您简单地创建一个新的(具有合适的大小)并将元素复制到它。

关于c# 当从哈希表中删除元素时,哈希表如何缩小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/303056/

相关文章:

javascript - 我在 asp.net 中的复选框不适用于代码隐藏文件

.net - 使用 ClickOnce 发布时,为什么 .NET Framework 4 需要 Windows Installer 4.5

c# - 子组件的应用程序快捷键 "swallowed"

c# - .Net4 中的 Httputility.urldecode 替换?

c# - LibTiff.Net 将 Tiff 对象转换为字节数组并返回

c# - C# 中的 Windows 服务无法启动

c# - 比较两个列表的差异

asp.net - 将网站从 .NET 2.0 迁移到 .NET 3.5 的风险

c# - 如何使用 LINQQ 或任何其他方法更新数据表中所有行的第一列?

.net - .Net解析与转换