richTextBox1.Text = "";
Hashtable ht = new Hashtable();
ht.Add("1", "1111");
ht.Add("2", "2222");
ht.Add("3", "3333");
ht.Add("4", "4444");
//遍历方法一:遍历哈希表中的键
richTextBox1.Text += "遍历方法一:遍历哈希表中的键\n";
foreach (string key in ht.Keys)
{
//Console.WriteLine(string.Format("{0}-{1}"), key, ht[key]);
richTextBox1.Text+= string.Format("{0}-{1}", key, ht[key])+"\n";
}
richTextBox1.Text += "遍历方法二:遍历哈希表中的值**********************************************************\n";
//遍历方法二:遍历哈希表中的值
foreach (string value in ht.Values)
{
richTextBox1.Text+= value+"\n";
}
richTextBox1.Text += "遍历方法三:遍历哈希表中的键值**********************************************************\n";
//遍历方法三:遍历哈希表中的键值
foreach (DictionaryEntry de in ht)
{
richTextBox1.Text += string.Format("{0}-{1}", de.Key, de.Value)+"\n";
}
richTextBox1.Text += "遍历方法四:遍历哈希表中的键值**********************************************************\n";
//遍历方法四:遍历哈希表中的键值
IDictionaryEnumerator myEnumerator = ht.GetEnumerator();
bool flag = myEnumerator.MoveNext();
while (flag)
{
richTextBox1.Text+= myEnumerator.Key + "-" + myEnumerator.Value+"\n";
// Console.WriteLine(ht[myEnumerator.Key]);//ht[myEnumerator.Key]== myEnumerator.Value=true;
flag = myEnumerator.MoveNext();
}
richTextBox1.Text += ht["1"] + "\n";
1、别称:哈希表、键值对、关联数组
2、概述:
(1)、用于处理和表现类似Key/Value的键值对
(2)、key --- 可以是不同数据类型,但不能重名,必须满足唯一性,同时它还区分大小写。通常用于快速查找,类似索引。
value --- 用于存储对应key的值,
二者均为object类型, 因此,Hashtable支持任何类型的key/value键值对。
(3)、Hashtable中的元素存储在DictionaryEntry对象中。
3、声明之前需引用命名空间:System.Collections
Hashtable ht = new Hashtable();
4、添加方法:
(1)Add(键,"值")
(2)ht[键] = "值"
用第二种方法,可能添加元素,也可能是重新赋值,取决于 “键”是否已经存在!
5、遍历方法:利用foreach循环
(1)用DictionaryEntry对象 声明;
foreach (DictionaryEntry myEntry in ht)
{
Console.WriteLine("key键:{0}-----value值:{1}",myEntry.Key,myEntry.Value);
}
(2)用Object类声明
foreach (object obj in ht.Keys)
{
Console.WriteLine("key键:{0}-----value值:{1}",obj,ht[obj]);
}
6、删除方法:
Remove(Key键) ----- 删除指定元素
Clear() ------ 清空所有元素
7、查找方法:(返回布尔值)
ContainsKey ---- 按 键 查找
ContainsValue ---- 按 值 查找