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

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

.NET Framework (current version)
 

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

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

public TValue GetOrAdd(
	TKey key,
	Func<TKey, TValue> valueFactory
)

参数

key
Type: TKey

要添加的元素的键。

valueFactory
Type: System.Func<TKey, TValue>

用于为键生成值的函数

返回值

Type: TValue

键的值。 如果字典中已存在该键,则为该键的现有值;如果字典中不存在该键,则为由 valueFactory 返回的键的新值。

Exception Condition
ArgumentNullException

keyvalueFactorynull

OverflowException

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

如果调用 GetOrAdd 同时在不同的线程上 addValueFactory 可能被调用多次,但它的键/值对可能不会添加到每个调用的词典。

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