本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

ConcurrentDictionary<TKey, TValue>.AddOrUpdate 方法 (TKey, Func<TKey, TValue>, Func<TKey, TValue, TValue>)

.NET Framework (current version)
 

发布日期: 2016年7月

如果该键不存在,则使用指定函数将键/值对添加到 ConcurrentDictionary<TKey, TValue>;如果该键已存在,则使用该函数更新 ConcurrentDictionary<TKey, TValue> 中的键/值对。

命名空间:   System.Collections.Concurrent
程序集:  mscorlib(位于 mscorlib.dll)

public TValue AddOrUpdate(
	TKey key,
	Func<TKey, TValue> addValueFactory,
	Func<TKey, TValue, TValue> updateValueFactory
)

参数

key
Type: TKey

要添加的键或应更新其值的键

addValueFactory
Type: System.Func<TKey, TValue>

用于为空缺键生成值的函数

updateValueFactory
Type: System.Func<TKey, TValue, TValue>

用于基于键的现有值为现有键生成新值的函数

返回值

Type: TValue

键的新值。 这将是 addValueFactory 的结果(如果缺少键)或 updateValueFactory 的结果(如果存在键)。

Exception Condition
ArgumentNullException

keyaddValueFactoryupdateValueFactorynull

OverflowException

字典中已包含元素的最大数量(MaxValue)。

如果调用AddOrUpdate同时在不同线程,addValueFactory可能被调用多次,但其键/值对可能不会添加到字典中是否每次调用的。

通用 Windows 平台
自 8 起可用
.NET Framework
自 4.0 起可用
可移植类库
可移植 .NET 平台 中受支持
Windows Phone
自 8.1 起可用
返回页首
显示: