page contents

c#hashtable的用法及其优劣

本文讲述了c#hashtable的用法及其优劣!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-11-pZioC88r636081ac4547e.png本文讲述了c#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();

二。删除

1。public virtual void Remove(

   object key

);

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

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

2。public virtual void Clear();

从 Hashtable 中移除所有元素。

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

三。其他

1。public 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 += ",";

}

2。public virtual ICollection Keys {get;}

获取包含 Hashtable 中的键的 ICollection。

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

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

3。public virtual bool Contains(

   object key

);

确定 Hashtable 是否包含特定键。 

4。public virtual bool ContainsKey(

   object key

);

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

5。public virtual bool ContainsValue(

   object value

);

确定 Hashtable 是否包含特定值

6。public virtual int Count {get;}

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

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

长按或扫描下方二维码,免费获取 Python公开课和大佬打包整理的几百G的学习资料,内容包含但不限于Python电子书、教程、项目接单、源码等等

attachments-2022-10-kwwbZ9WG6347756cbf77c.jpg

  • 发表于 2022-11-01 10:17
  • 阅读 ( 304 )
  • 分类:C/C++开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. Pack 1131 文章
  3. 小柒 1046 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章