Hashtable添加删除修改及注意问题(C#)
Hashtable 是一个暂时存储数据的容器,它利于用 key/value 形式的键值对来快速存取数据,key 是用于快速查找数据的键,value 是键 key 中所存的值,所在的命名空间是 System.Collections,所以使用前别忘了先 using System.Collections;。
1、创建 Hashtable
Hashtable ht = new Hashtable();
如果要同步像下面这样:
Hashtable ht = Hashtable.Synchronized(new Hashtable());
2、向 Hashtable 中添加值
ht.Add("01", "userName1");
ht.Add("02", "userName2");
ht.Add("03", "userName3");
或者(添加的值有规律时)
for(int i = 0; i < 10; i++)
ht.Add(i, i);
3、修改 Hashtable
ht["01"] = "user1";
ht["02"] = "user2";
ht["03"] = "user3";
4、删除 Hashtable
1)删除指定的键值对
ht.Remove("01");
ht.Remove("02");
ht.Remove("03");
2)删除 Hashtable 中所有元素
ht.Clear();
5、遍历删除特别提示
遍历 Hashtable 时,不能一边遍历一边删除,否则会出错。举例如下:
for(DictionaryEntry de in ht)
{
if(条件)
ht.Remove(de.Key);
}
像上例这样,在遍历过程中,如果满足某个条件,就删除该元素。这样遍历是会出异常的,因为在遍历过程中,Hashtable 的总数量(也就 Count) 发生的了变化,循环就会出现异常。
可能你会问,不能这样删除满足某个条件的元素,哪怎么删除?
办法也很简单,可以把要删除的健暂存到另一个 Hashtable 中,然后遍历这个暂存了键的 Hashtable,删除满足条件的元素即可。