Hashtable vs Dictionary
Hashtable | Dictionary |
---|---|
Hashtable 是一个非泛型集合 | Dictionary是一个通用集合 |
Hashtable 在 System.Collections 命名空间下定义 | Dictionary在 System.Collections.Generic 命名空间下定义 |
在 Hashtable 中,可以存储相同类型或不同类型的键/值对 | Dictionary 存储相同类型的键/值对 |
无需指定键和值的类型 | 必须指定键和值的类型 |
由于装箱/拆箱,数据检索比字典慢 | 由于没有装箱/拆箱,数据检索比 Hashtable 快 |
如果您尝试访问给定 Hashtable 中不存在的键,那么它将给出空值 | 如果您尝试访问给定字典中不存在的键,则会出错 |
thread safe | 也是线程安全的,但仅适用于公共静态成员 |
不维护存储值的顺序 | 始终保持存储值的顺序 |