C# Hashtable類

2019-10-16 23:17:12

Hashtable類表示基於鍵的雜湊碼組織的鍵和值對的集合。它使用鍵來存取集合中的元素。

當需要使用鍵存取元素時,可使用雜湊表來標識有用的鍵值。雜湊表中的每個專案都有一個鍵/值對。鍵用於存取集合中的專案。

Hashtable類的方法和屬性

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

屬性 說明
Count 獲取Hashtable中包含的鍵值對的數量。
IsFixedSize 獲取一個值,指示Hashtable是否具有固定大小。
IsReadOnly 獲取一個值,指示Hashtable是否為唯讀。
Item 獲取或設定與指定鍵相關聯的值。
Keys 獲取Hashtable中包含ICollection的鍵。
Values 獲取Hashtable中一個包含的ICollection的值。

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

序號 方法 描述
1 public virtual void Add(object key, object value); 將具有指定鍵和值的元素新增到Hashtable中。
2 public virtual void Clear(); Hashtable中刪除所有元素。
3 public virtual bool ContainsKey(object key); 確定Hashtable是否包含指定的鍵。
4 public virtual bool ContainsValue(object value); 確定Hashtable是否包含指定值。
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", "Maxsu");
            ht.Add("002", "Andy");
            ht.Add("003", "Jame");
            ht.Add("004", "Mausambe");
            ht.Add("005", "Mr. Amlan");
            ht.Add("006", "Mr. Arif");
            ht.Add("007", "Ritesh");
            ht.Add("008", "Sukida");

            if (ht.ContainsValue("Nuha Ali"))
            {
                Console.WriteLine("This student name is already in the list");
            }
            else
            {
                ht.Add("018", "Yiibai");
            }

            // Get a collection of the keys.
            ICollection key = ht.Keys;

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

            Console.ReadKey();
        }
    }
}

當上述程式碼被編譯並執行時,它產生以下結果:

006: Mr. Arif
007: Ritesh
008: Sukida
018: Yiibai
003: Jame
002: Andy
004: Mausambe
001: Maxsu
005: Mr. Amlan