page contents

c#hashtable的使用方法

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

attachments-2022-11-hchOdVyj6361cb806e2db.png

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

一:Hashtable 类简单说明

1)表示根据键的哈希代码进行组织的键/值对的集合。使用哈希代码生成的哈希值,是唯一地标识数据的固定长度的数字值。
2)HashTable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常用来快速查找,key区分大小写;value用于存储对应key值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对.

二:Hashtable 类的构造函数

三:Hashtable 类的属性

Count获取包含在 Hashtable 中的键/值对的数目。
EqualityComparer获取要用于 IEqualityComparer 的 Hashtable。
IsFixedSize获取一个值,该值指示 Hashtable 是否具有固定大小。
Item[Object]获取或设置与指定的键关联的值。
Keys获取包含 ICollection 中的键的 Hashtable。
Values获取一个 ICollection,它包含 Hashtable 中的值。

四:Hashtable 类的常用方法

1: Hashtable.Add(Object, Object) 的方法介绍

  • 1)作用:将带有指定键和值的元素添加到 Hashtable 中。
  • 2)语法:
1
public virtual void Add (object key, object value);

3)使用举例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 创建并初始化新的哈希表.
var myHT = new Hashtable();
myHT.Add("one", "The");
myHT.Add("two", "quick");
myHT.Add("three", "brown");
myHT.Add("four", "fox");
 
// 显示哈希表.
Console.WriteLine("哈希表包含以下内容:");
Console.WriteLine("\t-KEY-\t-VALUE-");
foreach (DictionaryEntry de in myHT)
{
    Console.WriteLine($"\t{de.Key}:\t{de.Value}");
}

4)运行结果:

哈希表包含以下内容:
  -KEY-   -VALUE-
  three:   brown
  one:   The
  two:   quick
  four:   fox

2: Hashtable.Clone ()的方法介绍

  • 1)作用:创建 Hashtable 的浅表副本
  • 2)语法:
1
public virtual object Clone ();

3)使用举例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 创建并初始化新的哈希表.
var myHT = new Hashtable();
myHT.Add(1, "Freedom");
myHT.Add(2, "Justice");
myHT.Add(3, "destiny");
myHT.Add(4, "GUNDAM");
 
// 克隆新的哈希表.
var myHT2 = (Hashtable)myHT.Clone();
 
// 显示克隆的哈希表.
Console.WriteLine("哈希表包含以下内容:");
Console.WriteLine("\t-KEY-\t-VALUE-");
foreach (DictionaryEntry de in myHT2)
{
    Console.WriteLine($"\t{de.Key}:\t{de.Value}");
}

4)运行结果:

哈希表包含以下内容:
  -KEY-   -VALUE-
  4:   GUNDAM
  3:   destiny
  2:   Justice
  4:   Freedom

3: Hashtable.ContainsKey(Object)和ContainsValue(Object)的方法介绍

  • 1)作用:确定 Hashtable 是否包含特定键或者特定值。
  • 2)语法:
1
2
public virtual bool ContainsKey (object key);
public virtual bool ContainsValue (object value);

3)使用举例:

1
2
3
4
5
6
7
8
9
10
11
12
// 创建并初始化新的哈希表.
var myHT = new Hashtable();
myHT.Add(1, "Freedom");
myHT.Add(2, "Justice");
myHT.Add(3, "destiny");
myHT.Add(4, "GUNDAM");
 
Console.WriteLine("The key \"{0}\" is {1}.", 3, myHT.ContainsKey(3) ? "在哈希表中" : "不在在哈希表中");
Console.WriteLine("The key \"{0}\" is {1}.", 6, myHT.ContainsKey(6) ? "在哈希表中" : "不在在哈希表中");
 
Console.WriteLine("The value \"{0}\" is {1}.", "Freedom", myHT.ContainsValue("Freedom") ? "在哈希表中" : "不在在哈希表中");
Console.WriteLine("The value \"{0}\" is {1}.", "GUNDAM", myHT.ContainsValue("GUNDAM") ? "在哈希表中" : "不在在哈希表中");

4)运行结果:

The key "3" is 在哈希表中.
The key "6" is 不在在哈希表中.-
The value "Freedom" is 在哈希表中.
The value "GUNDAM" is 在哈希表中.

4:Hashtable.Remove(Object)的方法介绍

  • 1)作用:确定 Hashtable 是否包含特定键或者特定值。
  • 2)语法:
1
public virtual void Remove (object key);

3)使用举例:

1
2
3
4
5
6
7
8
9
10
11
12
// 创建并初始化新的哈希表.
var myHT = new Hashtable();
myHT.Add(1, "Freedom");
myHT.Add(2, "Justice");
myHT.Add(3, "destiny");
myHT.Add(4, "GUNDAM");
myHT.Remove(4);//移除指定键的元素
 
foreach (DictionaryEntry de in myHT)
{
    Console.WriteLine($"\t{de.Key}:\t{de.Value}");
}

4)运行结果:

  3:  destiny
  2:  Justice
  1:  Freedom

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

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

attachments-2022-10-kwwbZ9WG6347756cbf77c.jpg

  • 发表于 2022-11-02 09:45
  • 阅读 ( 282 )
  • 分类:C/C++开发

你可能感兴趣的文章

相关问题

0 条评论

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

2403 篇文章

作家榜 »

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