C# 哈希表(Hashtable)

C# 集合 C# 集合

Hashtable 類代表了一系列基于鍵的哈希代碼組織起來的鍵/值對。它使用來訪問集合中的元素。

當(dāng)您使用訪問元素時(shí),則使用哈希表,而且您可以識(shí)別一個(gè)有用的鍵值。哈希表中的每一項(xiàng)都有一個(gè)鍵/值對。鍵用于訪問集合中的項(xiàng)目。

Hashtable 類的方法和屬性

下表列出了 Hashtable 類的一些常用的 屬性

屬性描述
Count獲取 Hashtable 中包含的鍵值對個(gè)數(shù)。
IsFixedSize獲取一個(gè)值,表示 Hashtable 是否具有固定大小。
IsReadOnly獲取一個(gè)值,表示 Hashtable 是否只讀。
Item獲取或設(shè)置與指定的鍵相關(guān)的值。
Keys獲取一個(gè) ICollection,包含 Hashtable 中的鍵。
Values獲取一個(gè) ICollection,包含 Hashtable 中的值。

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

序號方法名 & 描述
1public virtual void Add( object key, object value );
向 Hashtable 添加一個(gè)帶有指定的鍵和值的元素。
2public virtual void Clear();
從 Hashtable 中移除所有的元素。
3public virtual bool ContainsKey( object key );
判斷 Hashtable 是否包含指定的鍵。
4public virtual bool ContainsValue( object value );
判斷 Hashtable 是否包含指定的值。
5public virtual void Remove( object key );
從 Hashtable 中移除帶有指定的鍵的元素。

實(shí)例

下面的實(shí)例演示了哈希表(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");
         }
         // 獲取鍵的集合 
         ICollection key = ht.Keys;

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

當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

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 

C# 集合 C# 集合