C# 键值对类相关
2013-03-18 08:31
106 查看
一 C# 键值对类有以下类:
① 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键值对
Hashtable 内的每一组对象就是一个DictionaryEntry
例如我们要循环hashtable
foreach (DictionaryEntry de in myHashtable) {...}
Hashtable就是一个DictionaryEntry的集合
二 KeyValuePair和Hashtable区别
KeyValuePair是单个的键值对对象,而Hashtable是一个集合。
KeyValuePair用于接收combox选定的值。
例如:KeyValuePair<string, object> par = (KeyValuePair<string, object>)shoplistcomboBox.SelectedItem;
三 hashtable 与 dictionary的区别
1:单线程程序中推荐使用 Dictionary, 有泛型优势, 且读取速度较快, 容量利用更充分.
2:多线程程序中推荐使用 Hashtable, 默认的 Hashtable 允许单线程写入, 多线程读取, 对 Hashtable 进一步调用 Synchronized() 方法可以获得完全线程安全的类型. 而 Dictionary 非线程安全, 必须人为使用 lock 语句进行保护, 效率大减.
3:Dictionary 有按插入顺序排列数据的特性 (注: 但当调用 Remove() 删除过节点后顺序被打乱), 因此在需要体现顺序的情境中使用 Dictionary 能获得一定方便.
① 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键值对
Hashtable 内的每一组对象就是一个DictionaryEntry
例如我们要循环hashtable
foreach (DictionaryEntry de in myHashtable) {...}
Hashtable就是一个DictionaryEntry的集合
二 KeyValuePair和Hashtable区别
KeyValuePair是单个的键值对对象,而Hashtable是一个集合。
KeyValuePair用于接收combox选定的值。
例如:KeyValuePair<string, object> par = (KeyValuePair<string, object>)shoplistcomboBox.SelectedItem;
三 hashtable 与 dictionary的区别
1:单线程程序中推荐使用 Dictionary, 有泛型优势, 且读取速度较快, 容量利用更充分.
2:多线程程序中推荐使用 Hashtable, 默认的 Hashtable 允许单线程写入, 多线程读取, 对 Hashtable 进一步调用 Synchronized() 方法可以获得完全线程安全的类型. 而 Dictionary 非线程安全, 必须人为使用 lock 语句进行保护, 效率大减.
3:Dictionary 有按插入顺序排列数据的特性 (注: 但当调用 Remove() 删除过节点后顺序被打乱), 因此在需要体现顺序的情境中使用 Dictionary 能获得一定方便.
相关文章推荐
- C# 键值对类相关
- C# 键值对类相关
- 31、C#:键值对类型Hashtable与Dictionary比较和相关用法
- C#中键值对类型Hashtable与Dictionary比较和相关用法
- C#中键值对类型Hashtable与Dictionary比较和相关用法
- (转)C#中键值对类型Hashtable与Dictionary比较和相关用法
- C# 多线程、异步线程、线程池相关知识
- C#.NET Request相关操作
- 与类相关基本概念----Beginning Visual C#
- C#接收ORACLE返回得主键值
- C#操作Sqlite快速入门及相关工具收集
- COM在注册表中的相关键值及其意义
- C#身份证识别相关技术
- C#调用C++ DLL相关问题
- C#:LinkButton 控件 绑定数据时候 相关属性的注解
- C#键值对容器
- 【C#|.NET】从细节出发(一) 通用接口 aop dto 相关
- 技巧相关(C#)
- C#.NET Request相关操作
- c#学习之--编写代码相关的问题