在C#中,`Hashtable` 是一种包含键值对的集合,与 .NET 中的其他集合(如 `Dictionary
### 定义 Hashtable
首先,你需要引入 `System.Collections` 命名空间来使用 `Hashtable`。
using System.Collections;
class Program
{
static void Main()
{
// 创建一个 Hashtable 实例
Hashtable myHashtable = new Hashtable();
// 向 Hashtable 添加元素
myHashtable.Add("key1", "value1");
myHashtable.Add(1, "value2"); // 注意键也可以是任何对象类型
// 后续使用...
}
}
### 使用 Hashtable
你可以使用 `ContainsKey` 和 `ContainsValue` 方法来检查 `Hashtable` 是否包含特定的键或值。使用键(通过 `object` 类型)作为索引来检索值。
// 检查 Hashtable 是否包含特定的键
if (myHashtable.ContainsKey("key1"))
{
Console.WriteLine("Contains key1");
}
// 检索并输出值
// 注意类型转换,因为 Hashtable 使用 object 类型
string value1 = (string)myHashtable["key1"];
Console.WriteLine(value1); // 输出: value1
// 使用索引器获取值时,如果键不存在,会抛出 ArgumentException
// 因此,使用 TryGetValue 方法是更安全的选择
object tempValue;
if (myHashtable.TryGetValue("key2", out tempValue))
{
Console.WriteLine($"Found key2: {tempValue}");
}
else
{
Console.WriteLine("key2 not found");
}
// 遍历 Hashtable
foreach (DictionaryEntry entry in myHashtable)
{
Console.WriteLine($"Key = {entry.Key}, Value = {entry.Value}");
}
请注意,虽然 `Hashtable` 在某些情况下很有用,但在大多数现代 .NET 应用程序中,更推荐使用 `Dictionary
这就是在 C# 中定义和使用 `Hashtable` 的基本方法。