当前位置:编程学习 > C#/ASP.NET >>

C#集合之Hashtable

1、HashTable定义

System.Collections. Hashtable类表示键/值对的集合,这些键/值对根据键的哈希代码进行组织, 每个元素都是一个存储在 DictionaryEntry 对象中的键/值对。键不能为 null,但值可以。

2.优点

1、通过Key快速查找。

2、Hashtable 是线程安全的。

3. Hashtable的构造器

构造器函数

注释

Public Hashtable ()

使用默认的初始容量(容量大小为0)、加载因子、哈希代码提供程序和比较器来初始化 Hashtable 类的新的空实例。

public Hashtable (IDictionary)

通过将指定字典中的元素复制到新的 Hashtable 对象中,初始化 Hashtable 类的一个新实例。新 Hashtable 对象的初始容量等于复制的元素数,并且使用默认的加载因子、哈希代码提供程序和比较器。

public Hashtable (Int32)

使用指定的初始容量、默认加载因子、默认哈希代码提供程序和默认比较器来初始化 Hashtable 类的新的空实例。

4、Hashtable的属性

属性名

注释

Count

获取包含在 Hashtable 中的键/值对的数目。

IsFixedSize

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

IsReadOnly

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

Keys

获取包含 Hashtable 中的键的 ICollection。

Values

获取包含 Hashtable 中的值的 ICollection。

5. Hashtable的方法

方法名

注释

Void Add(object key,object value)

将带有指定键和值的元素添加到 Hashtable 中。

Void Clear()

从 Hashtable 中移除所有元素。

Bool Contains(object key)

确定 Hashtable 是否包含特定键。

Bool ContainsKey(object key)

确定 Hashtable 是否包含特定键。

Bool ContainsValue(object value)

确定 Hashtable 是否包含特定值。

Void Remove(object key)

从 Hashtable 中移除带有指定键的元素。

Void InsertRange(int index,Icollection collec)

用于从指定位置开始添加一批元素,列表后面的元素依次往后移动

Clone()

创建 Hashtable 的浅表副本。

GetObjectData()

实现 ISerializable 接口,并返回序列化 Hashtable 所需的数据。

 

6、Hashtable的使用示例

 

\代码