Nik*_*wal 25 .net c# dictionary hashtable key-value
我在代码中使用Dictionary但我的同事使用Hashtable.MSDN表示他们在密钥值对上工作,Hashtable和字典的例子在MSDN上是相同的.
那么它们彼此之间有多么不同?哪种是最好的还是适合不同的场合?
das*_*ght 25
Hashtable是一个无类型的关联容器,它使用DictionaryEntryclass通过其键值对返回枚举结果.
Dictionary<K,T>是HashtableC#2.0中引入的通用替代品.它使用KeyValuePair<K,T>通用对象来表示其键值对.
Hashtable这些天你应该看到的唯一地方是在引入泛型之前必须在.NET 1.1上运行的遗留代码.出于兼容性原因,它一直存在,但您应该尽可能地选择Dictionary<K,T>.
Chr*_*ain 17
KeyValuePair是Hashtable(或Dictionary)存储的数据单位.它们并不相同.
键值对包含单个键和单个值.字典或散列表包含许多键与其关联值的映射.
KeyValuePair当你想将两个相关信息作为一个单元存储时,这是很有用的,特别是当一个信息以识别方式与另一个相关时(例如1234 =>"David Smith").它们也是你在迭代字典时得到的东西.在.NET 4.0中,这些实际上仅用于在Dictionary中内部使用 - 引入了Tuple类用于通用目的.
之间的区别Hashtable和Dictionary是Hashtable不是一个通用类-两个它的键和值的类型Object. Dictionary是通用的,通常应该用于Hashtable任何新的开发.
| 归档时间: |
|
| 查看次数: |
16899 次 |
| 最近记录: |