C# - Hashtable 类

Hashtable 类表示一个键值对的集合,这些对基于键的哈希码进行组织。它使用键来访问集合中的元素。

当您需要使用key(键)访问元素时,可以使用哈希表,并且可以识别有用的键值。哈希表中的每个项目都有一个键值对。键用于访问集合中的项目。

Hashtable 类的方法和属性

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

Sr.No. 属性 &说明
1

Count

获取 Hashtable 中包含的键值对的数量。

2

IsFixedSize

获取一个值,指示 Hashtable 是否具有固定大小。

3

IsReadOnly

获取一个值,指示 Hashtable 是否为只读。

4

Item

获取或设置与指定键关联的值。

5

Keys

获取包含哈希表中键的 ICollection。

6

Values

获取包含哈希表中值的 ICollection。

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

Sr.No. 方法和说明
1

public virtual void Add(object key, object value);

将具有指定键和值的元素添加到哈希表中。

2

public virtual void Clear();

从哈希表中移除所有元素。

3

public virtual bool ContainsKey(object key);

判断哈希表是否包含特定键。

4

public virtual bool ContainsValue(object value);

判断哈希表是否包含特定值。

5

public virtual void Remove(object key);

从哈希表中移除具有指定键的元素。

示例

以下示例演示了以下概念:

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 

csharp_collections.html