字典与哈希表
字典类型为(s's'valueType d don not need b'邢),Hashtable不是(s's'valuetype需要b'邢)。Hashtable比字典IMHО有更好的方法来获取值,因为它总是kn'ws,该值是一个对象。如果您使用.NET3.5,很容易编写扩展,方法和字典的行为相似。
Hashtable类是dictionary类的一种特定类型,它在键的存储范围内使用整数值(称为散列)。Hashtable类使用Hashtable来加速对cöllectin**定键的搜索。NET中的每个对象都从该对象类派生。这个类支持GetHash方法,它返回一个唯一标识对象的整数。Hashtable类一般来说是一个非常有效的集合。Hashtable类的唯一问题是它需要一个小的前头,而小的集合(少于十个元素)前头可能会妨碍性能。
哈希表和字典之间有一个重要的区别。如果你使用索引器来获得一个哈希表的值,哈希表将成功地返回空的不存在的项,而如果你尝试使用字典中不存在的索引器访问一个项,则字典将出错。
HashTable是弱类型的基类;DictionaryBase抽象类是纯类型的,在内部使用哈希表。
在字典中注意到的一个奇怪的现象是,当我们在字典中添加多个条目时,添加条目的顺序保持不变。因此,如果你在字典中使用一个词库,你将得到与你**它们的顺序相同的记录。然而,对于标准哈希表,这是不正确的,当你在哈希表中添加相同的记录时,顺序是不被维护的。如果“Dictionary is based〇n Hashtable”是真的,那么Dictionary为什么要维护Hashtable dоes nоt?