You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中向Dictionary添加键值对的两种方式差异解析

C# Dictionary 两种操作键值对方式的核心区别

先看初始化代码:

Dictionary<int,int> dic = new Dictionary<int,int>();

下面是两种操作的具体差异:

1. 索引器赋值 dic[key] = value

  • 逻辑:不管键是否存在都能执行——键不存在时新增键值对,键已存在时直接覆盖原有值,全程不会抛出异常。
  • 示例:
dic[key] = value;
dic[key] = value1; // 正常执行,value被value1替换

2. Add() 方法 dic.Add(key, value)

  • 逻辑:只负责新增操作——只有当键不存在时才会添加成功;如果键已经存在,立刻抛出ArgumentException异常,不会修改原有值。
  • 示例:
dic.Add(key, value);
dic.Add(key, value1); // 抛出异常:已添加了具有相同键的项

适用场景参考

  • 如果业务逻辑允许覆盖更新,或者不确定键是否存在,用索引器更省心;
  • 如果必须确保键是全新的(重复键属于错误场景),用Add()方法能快速发现问题,避免意外覆盖。

内容的提问来源于stack exchange,提问作者shantanu ghosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 18:45:40