一,哈希表(Hashtable)简述
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对.
二,哈希表的简单操作
在哈希表中添加一个keyvalue键值对:HashtableObject.Add(key,value);
在哈希表中去除某个keyvalue键值对:HashtableObject.Remove(key);
从哈希表中移除所有元素: HashtableObject.Clear();
判断哈希表是否包含特定键key: HashtableObject.Contains(key);
namespace HashTable
{
class Program
{
static void Main(string[] args)
{
Hashtable ht = new Hashtable();
ht.Add("张三", "12345678");
ht.Add("李四", "010 - 1234");
ht.Add("王五", "12345678901");
#region 遍历查找
if (ht.ContainsKey("王五1"))
{
Console.WriteLine(ht["王五1"]);
}
else
{
Console.WriteLine("不存在");
}
// 如何遍历这个集合呢?
foreach (DictionaryEntry temp in ht)
{
Console.WriteLine(temp.Key + " " + temp.Value);
}
// 遍历整个集合的键
foreach (string temp in ht.Keys)
{
Console.WriteLine(temp);
}
#endregion
/*
* 我现在加入一个名字叫“张三”的人,可以吗?
* Hashtable中键不允许重复
*/
ht.Add("张三", "12345678");
/*
* 未处理 ArgumentException(参数异常)
* 已添加项。字典中的关键字:“张三”所添加的关键字:“张三”
*/
Console.ReadKey();
}
}
}