C#.NET集合类型Hashtable与Dictionary 的区别
来源:互联网 发布:淘宝商家在哪找的货源 编辑:程序博客网 时间:2024/05/18 20:08
1首先最基础的是 Hashtable注意t是小写的 ,命名空间不同
Hashtable :using System.Collections;
Dictionary :using System.Collection.Generic;
2.
1):单线程程序中推荐使用 Dictionary, 有泛型优势, 且读取速度较快, 容量利用更充分.
2):多线程程序中推荐使用 Hashtable, 默认的 Hashtable 允许单线程写入, 多线程读取, 而 Dictionary 非线程安全, 必须人为使用 lock 语句进行保护, 效率大减.
3.Dictionary 有按插入顺序排列数据的特性
4.对于值类型,特定类型(不包括 Object)的 Dictionary<(Of <(TKey, TValue>)>) 的性能优于 Hashtable,
因为 Hashtable 的元素属于 Object 类型,
所以在存储或检索值类型时通常发生装箱和取消装箱操作。
5.Dictionary 如果键值不存在 引用会引发异常
可以用ContarnsKey() 方法解决
6.常用属性
// Comparer
// 获取用于确定字典中的键是否相等的 IEqualityComparer。
// Count
// 获取包含在 Dictionary中的键/值对的数目。
// Item
// 获取或设置与指定的键相关联的值。
// Keys
// 获取包含 Dictionary中的键的集合。
// Values
// 获取包含 Dictionary中的值的集合。
// 常用的方法 方法说明
// Add MyDictionary.Add (string key,double value);
// 将指定的键和值添加到字典中。
// Clear MyDictionary.Clear ();
// 从 Dictionary中移除所有的键和值。
//ContainsKey MyDictionary.ContainsKey(string key);
// 确定 Dictionary是否包含指定的键。
// ContainsValue MyDictionary.ContainsValue(double value)
// 确定 Dictionary是否包含特定值。
//GetEnumerator MyDictionary.GetEnumerator(new Dictionary<string,double >("aaa",11.11);
//返回循环访问 Dictionary的枚举数。
// Remove
//从 Dictionary中移除所指定的键的值。
// ToString
//返回表示当前 Object的 String。 (从 Object 继承。)
// TryGetValue MyDictionary.TryGetValue(string key,out double value);
//注意因为用到了out所有必须在前面声明个变量即:double valueTest
// valueTest=0.0;
//if(!MyDictionary.TryGetValue(key,out valueTest))
//如果不存在这样的KEY VALUE
//那么 valueTest=0.0 ,要么就把真实的value赋给valueTest
- C#.NET集合类型Hashtable与Dictionary 的区别
- HashTable键值对集合 及它与Dictionary的区别
- hashtable 与 dictionary的区别
- .NET(C#) Hashtable Dictionary
- Hashtable 和 Dictionary 集合类型
- C#中hashtable 与 dictionary的区别
- HashTable与Dictionary的区别说明
- 【C#】数组与集合(LIst、ArrayList、HashTable、Dictionary)
- .net hashTable 和dictionary 区别
- .NET(C#) Hashtable Dictionary 探索
- .NET(C#) Hashtable Dictionary 探索
- [C#]泛型与非泛型集合类的区别及使用例程,包括ArrayList,Hashtable,List<T>,Dictionary<Tkey,Tvalue>,SortedList<Tkey,Tvalue>,
- C#Hashtable与Dictionary性能
- C#Hashtable与Dictionary性能
- C#Hashtable与Dictionary性能
- C#Hashtable与Dictionary性能
- C#Hashtable与Dictionary性能
- Hashtable和dictionary的区别
- 分析 webkit 的Timer类
- Java的一些基本特性
- 生成树协议(Spanning Tree Protocol,STP)
- 一个很难的字符串问题
- 字符串移位包含的问题
- C#.NET集合类型Hashtable与Dictionary 的区别
- zoj 1654 Place the Robots
- C++ socket编程 实现服务端与客户端的通讯
- 一场无名的宿醉,失措了一夜的安然。
- PC安卓模拟器PANIC: Could not open:C:\Documents and Settings\Administrator\.android/avd/my_avd.ini解决方案
- 构造函数和析构函数学习--先运行的后释放出
- c#从剪贴板取出图片,然后写上字,保存到文件
- access基本手工注入
- Maven安装与配置