【发布时间】:2012-06-01 00:54:17
【问题描述】:
我正在学习 .NET Hashtable 类,并想尝试各个方面...
- 给定数据集中发生了多少次冲突(重新哈希)
- 散列表的扩展对于多线程访问是否安全?
- 我的哈希表的当前负载系数是多少?
我如何试验或学习关于给定哈希表或字典的上述信息
【问题讨论】:
标签: c# .net dictionary hashtable
我正在学习 .NET Hashtable 类,并想尝试各个方面...
我如何试验或学习关于给定哈希表或字典的上述信息
【问题讨论】:
标签: c# .net dictionary hashtable
Hashtable 的线程安全性在MSDN 中说明。如果只有一个线程写入Hashtable 是线程安全的,这必须包括扩展。
现在,使用 Reflector 进行一些挖掘:
负载因子存储在 loadFactor 私有字段中,如果您想检查其值,可以使用反射访问该字段。
重新哈希更难。这些不是Hashtable 的内部状态,它通过重新散列并且只能通过重新散列以可检测的方式进行修改。因此,您将不得不在这里查看其他选项,例如使用 Reflector 创建您自己的相同 Hashtable 实现,然后添加一些代码来计算重新散列。如果您这样做,您也可以将负载系数作为属性公开,以使您的生活更轻松。
【讨论】: