在 C# 中,Dictionary
是一种常用的数据结构,用于存储键值对。以下是一些常见的 Dictionary
操作:
- 创建和初始化一个
Dictionary
可以使用以下代码创建并初始化一个 Dictionary
:
cs
Dictionary<string, int> dict = new Dictionary<string, int>()
{
{"apple", 1},
{"banana", 2},
{"orange", 3}
};
这个 Dictionary
包含三个键值对,分别是 "apple" 对应的值为 1,"banana" 对应的值为 2,"orange" 对应的值为 3。
- 添加和删除键值对
你可以使用以下方法来添加或删除键值对:
cs
// 添加键值对
dict.Add("pear", 4);
// 删除键值对
dict.Remove("banana");
- 访问和修改元素
通过指定键名,你可以访问和修改 Dictionary
中的元素:
/ 访问元素 int value = dict["apple"]; // 修改元素 dict["orange"] = 5;
需要注意的是,如果指定的键名不存在于 Dictionary
中,访问该键将会抛出异常。因此,在程序中应该先使用 .ContainsKey()
方法检查是否存在该键名:
cs
if (dict.ContainsKey("apple")) { int value = dict["apple"]; // 访问元素 }
- 遍历
Dictionary
你可以使用 foreach
循环遍历 Dictionary
:
cs
foreach (KeyValuePair<string, int> kvp in dict)
{
Console.WriteLine("Key = {0},
Value = {1}",
kvp.Key,
kvp.Value);
}
以上代码将会输出这个 Dictionary
中所有键值对的键名和对应的值。
- 其他方法
除了上述方法之外,Dictionary
还提供了一些其他常用的方法:
cs
// 获取键的集合
ICollection<string> keys = dict.Keys;
// 获取值的集合
ICollection<int> values = dict.Values;
// 获取元素数量
int count = dict.Count;
// 清空
Dictionary dict.Clear();
需要注意的是,在多线程环境下使用 Dictionary
时,需要采取额外的同步措施,以避免出现竞争条件。