C# - Hashtable 类



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

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

Hashtable 类的属性和方法

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

序号 属性和描述
1

Count

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

2

IsFixedSize

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

3

IsReadOnly

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

4

Item

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

5

Keys

获取一个包含Hashtable中键的ICollection。

6

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", "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.htm
广告
© . All rights reserved.