位置:首页 > 高级语言 > C#在线教程 > C# Hashtable类

C# Hashtable类

哈希表类表示基于键的散列码有组织键- 值对的集合。它使用键来访问集合中的元素

哈希表是当需要使用键来访问元素,可以找出有用的键值。哈希表中每个项目都有一个键/值对。该键被用来访问该集合中的项目。

哈希表(Hashtable)类的方法和属性

下表列出了一些Hashtable类的常用属性:

属性 描述
Count 获取包含在哈希表键 - 值对的数量
IsFixedSize 获取一个值,指示哈希表是否具有固定大小
IsReadOnly 获取一个值,指示哈希表是否是只读
Item 获取或设置与指定的键关联的值
Keys 获取包含在哈希表的键对应的ICollection
Values 获取包含在Hashtable中值的ICollection。

下表列出了一些Hashtable类的常用方法:

S.N 方法名称及用途
1 public virtual void Add( object key, object value ); 
将带有指定键和值到哈希表的元素
2 public virtual void Clear(); 
将删除Hashtable中的所有元素
3 public virtual bool ContainsKey( object key ); 
判断哈希表是否包含一个特定的键
4 public virtual bool ContainsValue( object value ); 
判断哈希表是否包含特定的值
5 public virtual void Remove( object key ); 
从Hashtable中删除指定键对应的元素

例子:

下面的例子演示了这一概念:

using System;
using System.Collections;

namespace CollectionsApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         Hashtable ht = new Hashtable();


         ht.Add("001", "Zara Ali");
         ht.Add("002", "Abida Rehman");
         ht.Add("003", "Joe Holzner");
         ht.Add("004", "Mausam Benazir Nur");
         ht.Add("005", "M. Amlan");
         ht.Add("006", "M. Arif");
         ht.Add("007", "Ritesh Saikia");

         if (ht.ContainsValue("Nuha Ali"))
         {
            Console.WriteLine("This student name is already in the list");
         }
         else
         {
            ht.Add("008", "Nuha Ali");
         }
         // Get a collection of the keys. 
         ICollection key = ht.Keys;

         foreach (string k in key)
         {
            Console.WriteLine(k + ": " + ht[k]);
         }
         Console.ReadKey();
      }
   }
}

让我们编译和运行上面的程序,这将产生以下结果:

001: Zara Ali
002: Abida Rehman
003: Joe Holzner
004: Mausam Benazir Nur
005: M. Amlan
006: M. Arif
007: Ritesh Saikia
008: Nuha Ali