C#鍵值對類

1、 C# 鍵值對類有如下類:web

    一、IDictionary<string, Object> idc = new Dictionary<string, object>();安全

    二、KeyValuePair<string, object> par = (KeyValuePair<string, object>)shoplistcomboBox.SelectedItem;多線程

    三、Hashtable ht=new Hashtable(); file建立一個Hashtable實例
  
       ht.Add(E,e);添加keyvalue鍵值對post

 Hashtable 內的每一組對象就是一個DictionaryEntry 
 例如咱們要循環hashtable 
 foreach (DictionaryEntry de in myHashtable) {...} 
 Hashtable就是一個DictionaryEntry的集合spa

 

2、 KeyValuePair和Hashtable區別線程

    一、KeyValuePair是單個的鍵值對對象,而Hashtable是一個集合。orm

    二、KeyValuePair用於接收combox選定的值。對象

例如:KeyValuePair<string, object> par = (KeyValuePair<string, object>)shoplistcomboBox.SelectedItem;blog

 

 3、 hashtable 與 dictionary的區別ci

    一、單線程程序中推薦使用 Dictionary, 有泛型優點, 且讀取速度較快, 容量利用更充分.

    二、多線程程序中推薦使用 Hashtable, 默認的 Hashtable 容許單線程寫入, 多線程讀取, 對 Hashtable 進一步調用 Synchronized() 方法能夠得到徹底線程安全的類型. 而 Dictionary 非線程安全, 必須人爲使用 lock 語句進行保護, 效率大減.

    三、Dictionary 有按插入順序排列數據的特性 (注: 但當調用 Remove() 刪除過節點後順序被打亂), 所以在須要體現順序的情境中使用 Dictionary 能得到必定方便.

相關文章
相關標籤/搜索