C#中的哈希表(Hashtable)是一种集合类型,其存储方式是以键值对(Key-Value pair)的形式存储数据,键和值可以是任意类型。哈希表类似于字典,通过键来查找对应的值。
哈希表(Hashtable)的介绍
哈希表(Hashtable)是.NET Framework提供的一种强类型非泛型集合类型,它实现了IDictionary接口并使用键值对存储元素。哈希表在存储大量元素时具有高效的索引和查找能力,因为它使用键值对的哈希值来存储和检索元素。
要使用哈希表,需要添加以下命名空间:
using System.Collections;
下面是哈希表的常用属性和方法:
// 属性:
// Count:返回哈希表中键值对的数量
// Keys:返回哈希表中所有键的集合
// Values:返回哈希表中所有值的集合
// 方法:
// Add(key, value):向哈希表中添加一个键值对
// Clear():从哈希表中移除所有键值对
// Contains(key):确定哈希表中是否包含指定的键
// Remove(key):从哈希表中移除指定的键值对
哈希表的简单用法
示例一
下面是一个简单的示例,展示了如何创建哈希表,并向其中添加键值对:
Hashtable ht = new Hashtable();
ht.Add("Name", "Tom");
ht.Add("Age", 18);
ht.Add("Sex", "Male");
在这个哈希表中,我们添加了三个键值对,键分别是“Name”、“Age”和“Sex”,对应的值分别是“Tom”、“18”和“Male”。
要访问哈希表中的值,可以通过它的键来进行访问:
Console.WriteLine(ht["Name"]); // 输出 Tom
Console.WriteLine(ht["Age"]); // 输出 18
Console.WriteLine(ht["Sex"]); // 输出 Male
示例二
下面是另一个示例,展示了如何使用哈希表来存储自定义类的对象:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
Hashtable ht = new Hashtable();
ht.Add("Tom", new Person { Name = "Tom", Age = 18 });
ht.Add("Jerry", new Person { Name = "Jerry", Age = 20 });
在这个例子中,我们定义了一个Person类,它有两个属性:Name和Age。我们创建了一个哈希表,并将两个Person对象作为值存储在了哈希表中,键分别是“Tom”和“Jerry”。
要访问哈希表中的自定义类对象的属性,可以按照以下方式进行访问:
Person tom = (Person)ht["Tom"];
Console.WriteLine(tom.Name); // 输出 Tom
Console.WriteLine(tom.Age); // 输出 18
Person jerry = (Person)ht["Jerry"];
Console.WriteLine(jerry.Name); // 输出 Jerry
Console.WriteLine(jerry.Age); // 输出 20
在上面的代码中,我们使用哈希表的键来获取对应的值,并强制转换为Person类的对象。然后我们可以使用对象属性来访问它的Name和Age属性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中哈希表(Hashtable)的介绍及简单用法 - Python技术站