我在这里阅读到Hashtable和Dictionary基本相同,除了避免装箱/拆箱的优点。
使用Ants Profiler,我测量了一个非常简单的应用程序,其中包含以下结构:
class Node
{
Dictionary<string, Node> Children = new Dictionary<string, Node>();
}
并且
class NodeOld
{
Hashtable Children = new Hashtable();
}
好的,第一个列表的1.5百万个实例大约需要140Mb,而第二个需要超过700Mb(64位系统)。
因此,这两种实现方式有着巨大的差异,不是吗?
在大型示例中,Ants Profiler揭示了大量的Hashtable + Bucket对象...
如果您必须坚持使用1.1版本,是否有等效的(内存智能)选项可用于字典?
Dictionary<K,V>
实现为哈希表。SortedDictionary<K,V>
是二叉搜索树。 - svick