您的位置:首页 > 编程学习 > C#

C#中hashtable 的使用方法

更多 2013/8/22 来源:C#学习浏览量:5248
学习标签: C# hashtable
本文导读:在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对.

哈希表Hashtable是一个重要的集合类型,下面对他的基本用法做个小小的总结。

一、名词介绍

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

 

二、HashTable 表的优点

HashTable是System.Collections命名空间提供的一个容器,HashTable中的key/value均为object类型,所以HashTable可以支持任何类型的key/value键/值对。

HashTable的优点就在于其索引的方式,速度非常快

Hashtable常用的两种构造函数:public Hashtable() public Hashtable(int capacity)

 

三、向Hashtable添加元素

向Hashtable添加元素时,可以采用系统提供的Add方法。其语法格式如:public virtual void Add(Object key,Object value)

下面举个详细点的例子如:

 

 
C# 代码   复制

Hashtable hashtable = new Hashtable();   //实例化Hashtable对象
hashtable.Add("id", "600719");     //向Hashtable哈希表中添加元素
hashtable.Add("name", "denylau");
hashtable.Add("sex", "");
Console.WriteLine(hashtable.Count);   //获得Hashtable哈希表中的元素个数

 

四、删除Hashtable中的元素

1、Clear方法:该方法用来移除Hashtable中的所有元素,其语法格式如:public virtual void Clear()

 

 
C# 代码   复制

Hashtable hashtable = new Hashtable();   //实例化Hashtable对象
hashtable.Add("id", "600719");     //向Hashtable哈希表中添加元素
hashtable.Add("name", "denylau");
hashtable.Add("sex", "");
hashtable.Clear();       //移除Hashtable哈希表中的元素
Console.WriteLine(hashtable.Count);

2、Remove方法:该方法用来从Hashtable中移除带有指定键的元素,其语法格式如下:public virtual void Remove(Object value)

 
C# 代码   复制

Hashtable hashtable = new Hashtable();   //实例化Hashtable对象
hashtable.Add("id", "600719");     //向Hashtable哈希表中添加元素
hashtable.Add("name", "denylau");
hashtable.Add("sex", "");
hashtable.Remove("sex");     //移除Hashtable哈希表中的指定元素
Console.WriteLine(hashtable.Count);

 

五、Hashtable的遍历

遍历其实与数组类似,但是Hashtable中的元素是一个键值对的集合,因此需要使用DictionaryEntry类型来遍历,下面通过一个例子来说明下吧!

 

 
C# 代码   复制

Hashtable hashtable = new Hashtable();  //实例化Hashtable对象
hashtable.Add("id", "600719");    //向Hashtable哈希表中添加元素
hashtable.Add("name", "denylau");
hashtable.Add("sex", "");
Console.WriteLine("\\t 键\\t 值");
//遍历Hashtable哈希表中的元素并输出其键值对
foreach (DictionaryEntry dicEntry in hashtable)
   {
         Console.WriteLine("\\t " + dicEntry.Key + "\\t " + dicEntry.Value);
    }
Console.WriteLine();

 

六、Hashtable提供的其它方法介绍

1、Contains方法:该方法用来确定Hashtable中是否包含特定键,其语法格式如:public virtual bool Contains(Object key)

 

 
C# 代码   复制

Hashtable hashtable = new Hashtable();   //实例化Hashtable对象
hashtable.Add("id", "600719");     //向Hashtable哈希表中添加元素
hashtable.Add("name", "denylau");
hashtable.Add("sex", "");
Console.WriteLine(hashtable.Contains("id"));  //判断Hashtable哈希表中是否包含指定的键
 
 
2、ContainsValue方法:该方法用来确定Hashtable中是否包含特定值,其语法格式如:public virtual bool ContainsVlaue(Object value)
 
 
C# 代码   复制

Hashtable hashtable = new Hashtable();   //实例化Hashtable对象
hashtable.Add("id", "600719");     //向Hashtable哈希表中添加元素
hashtable.Add("name", "denylau");
hashtable.Add("sex", "");
Console.WriteLine(hashtable.ContainsValue("id")); //判断Hashtable哈希表中是否包含指定的键值

 

收藏
137
很赞
447
您可能感兴趣