Hashtable-asp.net入门(六)

Hashtable

一。介绍

   表示键/值对的集合,这些键/值对 根据键的哈希代码进行组织。

   提供快速的查询。元素的存储与顺序无关。不能在指定位置插入元素,因为它本身没有有效的排序。感觉它的优点体现在查询上。

   hashtable的键必须是唯一的,没有有效的排序,它进行的是内在的排序

 

public class Hashtable : IDictionary, ICollection, IEnumerable,

   ISerializable, IDeserializationCallback, ICloneable

每个元素是一个存储在 DictionaryEntry 对象中的键/值对。键不能为空引用(Visual Basic

中为 Nothing),但值可以。

 

注:所谓的DictionaryEntry 结构,就是定义可设置或检索的字典键值对,有一个Key属性,

一个Value属性,分别代表键和值

 

二。添加

Hashtable.Add 方法

public virtual void Add(

   object key,

   object value

);

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

key

要添加的元素的键。

value

要添加的元素的值。该值可以为空引用(Visual Basic 中为 Nothing)。

通过设置 Hashtable 中不存在的键的值,Item

属性也可用于添加新元素。例如:myCollection["myNonexistentKey"] = myValue。但是,如

果指定的键已经存在于 Hashtable 中,设置 Item 属性将改写旧值。相比之下,Add 方法不

修改现有元素。

Hashtable hTable = new Hashtable();

hTable.Add("1","a");

hTable.Add("2","b");

hTable.Add("3","c");

hTable.Add("4","d");

hTable.Add("5","e");

//hTable.Add("1","aaaaaaaaaaa");  //出错,因为已经有键“1

hTable["1"] = "aaaaaaaaaaa";  //ok

DropDownList2.DataSource = hTable;

DropDownList2.DataTextField = "Key";

DropDownList2.DataValueField = "Value";

DropDownList2.DataBind();

 

 

二。删除

1public virtual void Remove(

   object key

);

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

如果 Hashtable 不包含带有指定键的元素,则 Hashtable 保持不变。不引发异常。

 

2public virtual void Clear();

Hashtable 中移除所有元素。

Count 设置为零。容量保持不变。

 

三。其他

1public virtual ICollection Values {get;}

获取包含 Hashtable 中的值的 ICollection

注:ICollection 接口,定义所有集合的大小、枚举数和同步方法。

Hashtable hTable = new Hashtable();

hTable.Add("1","a");

hTable.Add("2","b");

hTable.Add("3","c");

hTable.Add("4","d");

hTable.Add("5","e");

Label2.Text = "";

foreach (string strKey in hTable.Keys)  //遍历

{

Label2.Text += strKey;

Label2.Text += ",";

}

 

2public virtual ICollection Keys {get;}

获取包含 Hashtable 中的键的 ICollection

返回的 ICollection 不是静态副本;相反,ICollection 反向引用原始 Hashtable 中的键。

因此,对 Hashtable 的更改继续反映到 ICollection 中。

 

3public virtual bool Contains(

   object key

);

确定 Hashtable 是否包含特定键。

 

4public virtual bool ContainsKey(

   object key

);

确定 Hashtable 是否包含特定键。与Contains

 

5public virtual bool ContainsValue(

   object value

);

确定 Hashtable 是否包含特定值

 

6public virtual int Count {get;}

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值