有人可以告诉我Dictionary<TKey,TValue>.TryAdd(TKey, TValue)
方法有什么作用吗?
至少可以说文档很薄弱。
我尝试寻找来源:
https://github.com/dotnet/corefx/tree/master/src/System.Collections/src/System/Collections/Generic
但是我找不到Dictionary类的源代码。
编辑:根据MarcinJuraszek的说法,证明字典是源在CoreCLR存储库中。
答案 0 :(得分:2)
代码位于CoreCLR存储库(click)中:
public bool TryAdd(TKey key, TValue value)
=> TryInsert(key, value, InsertionBehavior.None);
如果您查看TryInsert
的实现方式,您会看到如果给定密钥的某个元素尚不存在,它将向字典添加元素。如果字典中已存在具有给定键的项目,则它将返回false
并且不会修改该集合。
btw - 您链接到is also on GitHub的文档,这意味着您应该考虑让其他人更好地受益!