位置:首頁 > 高級語言 > 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