【问题标题】:.Net Core Dictionary documentation.Net Core Dictionary 文档
【发布时间】:2018-01-18 02:46:12
【问题描述】:

谁能告诉我Dictionary<TKey,TValue>.TryAdd(TKey, TValue) 方法的作用是什么?

文档薄弱,至少可以这么说。

https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2.tryadd?view=netcore-2.0#Definition

我试着寻找来源:

https://github.com/dotnet/corefx/tree/master/src/System.Collections/src/System/Collections/Generic

但我找不到 Dictionary 类的源代码。

编辑:根据 MarcinJuraszek 的说法,原来字典的源代码在 CoreCLR 存储库中。

【问题讨论】:

  • 命名空间绝对匹配,因为旧的集合类型在System.Collection.NonGeneric 下。简而言之,微软不打算保留旧的集合类型,所以泛型类型使用了System.Collection
  • 糟糕,我的错!你是对的。

标签: c# .net-core


【解决方案1】:

代码在 CoreCLR 存储库中 (click):

public bool TryAdd(TKey key, TValue value)
    => TryInsert(key, value, InsertionBehavior.None);

如果您查看TryInsert 是如何实现的,您会发现如果给定键的元素不存在,它将向字典添加一个元素。如果字典中已经存在具有给定键的项,它将返回 false 并且不会修改集合。

顺便说一句 - 您链接到 is also on GitHub 的文档,这意味着您应该考虑让它更好地让其他人从中受益!

【讨论】:

    猜你喜欢
    • 2019-04-23
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 2023-01-05
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    相关资源
    最近更新 更多