我有 KeyValuePairs,我想将新值添加到 ConcurrentDictonary。如果不包含密钥,我想添加它。但更快/更好的是:
这:
dict.AddOrUpdate(pair.Key, pair.Value, (ok, ov) => pair.Value);
或这个:
if (dict.ContainsKey(pair.Key))
{
dict[pair.Key] = pair.Value;
}
else
{
dict.TryAdd(pair.Key, pair.Value);
}
我担心 AddOrUpdate 会做我不想要/不需要的额外工作,而且它需要更长的时间,因为 Lambda 也必须执行。
这两种方法哪个更快?还是有更快的方法?