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

.NET Core中Dictionary<TKey,TValue>.TryAdd方法的作用是什么?

Dictionary<TKey,TValue>.TryAdd(TKey, TValue) 方法详解

核心作用

  • 尝试将指定的键值对添加到字典中,遇到重复键时不会抛出异常
  • 方法返回布尔值:添加成功返回true;字典中已存在相同键时,操作不执行,返回false

等价实现逻辑

你可以理解为该方法是对普通Add操作的安全封装,非原子场景下的等价代码如下:

public bool TryAdd(TKey key, TValue value)
{
    if (!ContainsKey(key))
    {
        Add(key, value);
        return true;
    }
    return false;
}

和手动写上述逻辑相比,原生TryAdd有两个明显优势:

  • 性能更好:手动实现需要做两次哈希查找(一次判断是否存在、一次插入),TryAdd内部仅做一次查找即可完成判断和插入操作
  • 不需要额外处理异常:直接调用Add方法遇到重复键会抛出ArgumentException,使用TryAdd只需要判断返回值即可,无需额外的try-catch包裹

补充说明

你之前在corefx仓库找不到Dictionary源码是正常的,该仓库已经是归档状态,现在.NET的基础类库实现已经全部迁移到新的统一代码仓库中。

内容的提问来源于stack exchange,提问作者Arnab Chakravorty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:36:04