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

C#中hashtable 的使用方法

更多 时间:2013-8-22 类别:编程学习 浏览量:5332

C#中hashtable 的使用方法

C#中hashtable 的使用方法

哈希表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哈希表中是否包含指定的键值
    			
  •  

    标签:C# hashtable