这个问题要看怎么说,首先如果是单线程的话,我认为是Dictionary更好,因为Dictionary的原型是Dictionary<(Of <(TKey, TValue>)>),它是可以确定类型的,当然
它还支持贬型,而Hashtable它内部的value都是object类型,所以每次都要进行装箱和拆箱的操作。
但如果是多线程的话,那Dictionary就要注意了,因为它不是线程安全的,必须通过lock进行锁定才行,而这点Hashtable就更好一些,它完全是纯种安全的。
使用方法:
HashTable ht=new HashTable();//实现 IDictionary接口
ht.Add(1,"zzl");
ht.Add(2,"zhz");
ht.Add(3,"zql");
Dictionary<int,string> dic=new Dictionary<int,string>();//它被指明了具体的类型
dic.Add(1,"zzl");
dic.Add(2,"zhz");
dic.Add(2,"zql");
本文转自博客园张占岭(仓储大叔)的博客,原文链接:HashTable与Dictionary哪个性能更好?,如需转载请自行联系原博主。