幻想编程

C# 哈希表(Hashtable)

时间:14-12-15 10:00:29点击:264

Hashtable 类代表了一系列基于键的哈希代码组织起来的键/值对。它使用键来访问集合中的元素。

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

Hashtable 类的方法和属性

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

属性

描述

Count

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

IsFixedSize

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

IsReadOnly

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

Item

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

Keys

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

Values

获取一个 ICollection,包含 Hashtable 中的值。

下表列出了 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 中移除带有指定的键的元素。

实例

下面的实例演示了哈希表(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();

}

}

}

当上面的代码被编译和执行时,它会产生下列结果:

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