带有示例的 C# 哈希表
什么是 C# 中的 Hashtable?
哈希表是一个特殊的集合,用于存储键值项。因此,哈希表不会像堆栈、数组列表和队列那样只存储一个值,而是存储两个值。这两个值构成了哈希表的一个元素。
下面是一些哈希表值的示例。
{ "001" , ".Net" } { "002" , ".C#" } { "003" , "ASP.Net" }
上面我们有 3 个键值对。每个元素的键分别是 001、002 和 003。每个键值对的值分别为“.Net”、“C#”和“ASP.Net”。
让我们更详细地看一下 Hashtable 集合可用的操作。
哈希表的声明
Hashtable 的声明如下所示。 Hashtable 是在 Hashtable 数据类型的帮助下创建的。 “new”关键字用于创建 Hashtable 的对象。然后将该对象分配给变量 ht。
Hashtable ht = new Hashtable()
向哈希表添加元素
Add 方法用于将元素添加到队列中。该语句的一般语法如下所示
HashTable.add("key","value")
示例 1:
请记住,哈希表的每个元素都包含 2 个值,一个是键,另一个是值。
现在,让我们看看这在代码级别上是如何工作的。下面提到的所有代码都将写入我们的控制台应用程序。
代码将写入我们的 Program.cs 文件。在下面的程序中,我们将编写代码来看看我们如何使用上述方法。
现在在我们的示例中,我们将只看如何创建一个 hashtable ,将元素添加到 hashtable 并相应地显示它们。
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Hashtable ht = new Hashtable(); ht.Add("001",".Net"); ht.Add("002","C#"); ht.Add("003","ASP.Net"); ICollection keys = ht.Keys; foreach (String k in keys) { Console.WriteLine(ht[k]); } Console.ReadKey(); } } }
代码说明:-
-
首先,我们使用关键字“New”使用 Hashtable 数据类型声明 hashtable 变量。变量定义的名称是'ht'。
-
然后我们使用 Add 方法将元素添加到哈希表中。请记住,在向哈希表添加内容时,我们需要同时添加键和值元素。
-
没有直接的方法来显示哈希表的元素。
- 为了显示哈希表,我们首先需要从哈希表中获取键列表(001、002 和 003)。
- 这是通过 ICollection 接口完成的。这是一种特殊的数据类型,可用于存储哈希表集合的键。然后,我们将哈希表集合的键分配给变量“keys”。
-
接下来对于每个键值,我们使用语句 ht[k] 获取哈希表中的关联值。
如果上面的代码输入正确,程序运行起来会显示如下输出。
输出:
让我们看看更多可用于哈希表的方法。
包含密钥
此方法用于查看 Hashtable 中是否存在键。以下是该语句的一般语法。如果 key 存在,该语句将返回 true,否则返回 false。
Hashtable.Containskey(key)
包含值
此方法用于查看 Hashtable 中是否存在 Value。以下是该语句的一般语法。如果 Value 存在,该语句将返回 true,否则将返回 false。
Hashtable.ContainsValue(value)
示例 2:
让我们更改控制台应用程序中的代码,以展示我们如何使用“Containskey”和“ContainsValue”方法。
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Hashtable ht = new Hashtable(); ht.Add("001",".Net"); ht.Add("002","C#"); ht.Add("003","ASP.Net"); Console.WriteLine(ht.ContainsKey("001")); Console.WriteLine(ht.ContainsValue("C#")); Console.ReadKey(); } } }
代码说明:-
- 首先,我们使用 ContainsKey 方法查看键是否存在于哈希表中。如果键存在于哈希表中,此方法将返回 true。此方法应返回 true,因为该键确实存在于哈希表中。
- 然后我们使用 ContainsValue 方法查看该值是否存在于哈希表中。此方法将返回“true”,因为该值确实存在于哈希表中。
如果上面的代码输入正确,程序运行起来会显示如下输出。
输出:
从输出中可以清楚地看到,被搜索的键和值都存在于哈希表中。
总结
哈希表用于存储由键值对组成的元素。要访问元素的值,您需要知道元素的键。
C语言