C# Hashtable:哈希表

在 C# 中,Hashtable(哈希表) 类表示根据键的哈希代码进行组织的键(key)/值(value)对的集合,可以使用键来访问集合中的元素。也就是说当您需要使用键来访问指定元素时,可以选择使用哈希表。

Hashtable 类中的属性

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

属性 描述
Count 获取哈希表中包含的键值对的个数
IsFixedSize 获取一个值,用来表示哈希表是否具有固定大小
IsReadOnly 获取一个值,用来表示哈希表是否只读
Item 获取或设置与指定键关联的值
Keys 获取一个 ICollection,其中包含哈希表中的键
Values 获取一个 ICollection,其中包含哈希表中的值

Hashtable 类中的方法

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

方法名 描述
public virtual void Add(object key, object value) 向哈希表中添加一个带有指定的键和值的元素
public virtual void Clear() 从哈希表中移除所有的元素
public virtual bool ContainsKey(object key) 判断哈希表是否包含指定的键
public virtual bool ContainsValue(object value) 判断哈希表是否包含指定的值
public virtual void Remove(object key) 从哈希表中移除带有指定的键的元素

关于 Hashtable 类中的完整属性和方法介绍,可以查阅 C# 官方文档

【示例】下面通过示例来演示 Hashtable 类中属性及方法的使用:
using System;
using System.Collections;

namespace c.biancheng.net
{
    class Demo
    {
        static void Main(string[] args){
            Hashtable ht = new Hashtable();

            ht.Add("001", "小明");
            ht.Add("002", "小红");
            ht.Add("003", "小强");

            if (ht.ContainsValue("张三")){
                Console.WriteLine("该学生姓名以存在");
            }else{
                ht.Add("004", "张三");
            }
            // 获取键的集合
            ICollection key = ht.Keys;

            foreach (string k in key){
                Console.WriteLine(k + ": " + ht[k]);
            }
            Console.ReadKey();
        }
    }
}
运行结果如下:

004: 张三
002: 小红
003: 小强
001: 小明