2024年4月28日发(作者:)

C# 键值对类相关

一 C# 键值对类有以下类:

① IDictionaryidc = new Dictionary

object>();

② KeyValuePair par =

(KeyValuePair

object>)edItem;

③ Hashtableht=new Hashtable(); file创建一个Hashtable实

(E,e);添加keyvalue键值对

Hashtable内的每一组对象就是一个DictionaryEntry

例如我们要循环hashtable

foreach (DictionaryEntry de in myHashtable) {...}

Hashtable就是一个DictionaryEntry的集合

二 KeyValuePair和Hashtable区别

KeyValuePair是单个的键值对对象,而Hashtable是一个集合。

KeyValuePair用于接收combox选定的值。

例如:KeyValuePair par =

(KeyValuePair

object>)edItem;

三hashtable与 dictionary的区别

1:单线程程序中推荐使用 Dictionary, 有泛型优势, 且读取速度较快,

容量利用更充分.

2:多线程程序中推荐使用Hashtable, 默认的Hashtable允许单线程

写入, 多线程读取, 对Hashtable进一步调用 Synchronized() 方法

可以获得完全线程安全的类型. 而 Dictionary 非线程安全, 必须人

为使用 lock 语句进行保护, 效率大减.

3:Dictionary 有按插入顺序排列数据的特性 (注: 但当调用

Remove() 删除过节点后顺序被打乱), 因此在需要体现顺序的情境

中使用 Dictionary 能获得一定方便.