C# Dictionary基础用法详解:增删改查与遍历

雨后青山
雨后青山
发布时间:2026-10-14 | 4人浏览过
原创

在C#开发中,Dictionary 是最常用的键值对集合之一。本文将通过具体代码示例,展示如何创建、填充、遍历及判断 System.Collections.Generic.Dictionary 中的键值对,帮助开发者快速掌握其核心操作方法。

准备条件与声明

在使用 Dictionary 之前,需确保引入命名空间:

using System.Collections.Generic;

声明一个泛型字典时,需明确指定键(Key)和值(Value)的数据类型。以下示例创建一个整型为键、字符串为值的字典对象:

Dictionary<int, string> productList = new System.Collections.Generic.Dictionary<int, string>();

第1步:添加键值对

使用 Add 方法向字典中添加元素。若键已存在,再次调用 Add 将抛出异常。因此,添加前通常建议先检查或根据业务逻辑决定是否覆盖。

productList.Add(1, "ProductionOne");
productList.Add(2, "ProductionTwo");

完成状态:此时 productList 中包含两个元素,可通过 productList.Count 验证数量。

第2步:遍历键值对

如果需要同时访问键和值,可使用 KeyValuePair 进行遍历:

foreach (KeyValuePair<int, string> production in productList)
{
    MessageBox.Show(string.Format("{0},{1}", production.Key, production.Value));
}

第3步:分别遍历 Keys 和 Values

若只需处理键或值,可分别访问 Keys 或 Values 属性:

遍历所有键

Dictionary<int, string>.KeyCollection keys = productList.Keys;
foreach (var item in keys)
{
    MessageBox.Show(item.ToString());
}

遍历所有值

Dictionary<int, string>.ValueCollection collection = productList.Values;
foreach (var item in collection)
{
    MessageBox.Show(string.Format("{0}", item));
}

第4步:查找与判断

检查键是否存在:使用 ContainsKey 方法。这是推荐的做法,比直接通过索引器访问更安全,可避免引发 KeyNotFoundException。

if (productList.ContainsKey(1))
{
    MessageBox.Show(productList[1].ToString());
}

检查值是否存在:使用 ContainsValue 方法。注意此方法时间复杂度较高(O(n)),仅在进行少量查询时使用。

if (productList.ContainsValue("ProductionTwo"))
{
    MessageBox.Show("该值存在于字典中");
}

第5步:删除操作

根据键移除特定项:productList.Remove(1);。
清空整个字典:productList.Clear();。
风险提醒:Clear() 会永久移除所有数据,操作前请确认不需要备份。

简要总结

C# 的 Dictionary<TKey, TValue> 提供了高效的键值对存储能力。掌握 Add、ContainsKey、Remove 以及 foreach 遍历是日常开发的基础。对于大数据量场景,尽量避免在循环中使用 ContainsValue。

以上就是C# Dictionary基础用法的详细内容,更多关于C# Dictionary进阶技巧的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表