ConcurrentDictionary<TKey, TValue>.AddOrUpdate Method (TKey, TValue, Func<TKey, TValue, TValue>)
Adds a key/value pair to the ConcurrentDictionary<TKey, TValue> if the key does not already exist, or updates a key/value pair in the ConcurrentDictionary<TKey, TValue> by using the specified function if the key already exists.
Namespace: System.Collections.Concurrent
Assembly: mscorlib (in mscorlib.dll)
public TValue AddOrUpdate(
TKey key,
TValue addValue,
Func<TKey, TValue, TValue> updateValueFactory
)
Parameters
- key
- Type: TKey
The key to be added or whose value should be updated
- addValue
- Type: TValue
The value to be added for an absent key
- updateValueFactory
- Type: System.Func<TKey, TValue, TValue>
The function used to generate a new value for an existing key based on the key's existing value
Return Value
Type: TValueThe new value for the key. This will be either be addValue (if the key was absent) or the result of updateValueFactory (if the key was present).
| Exception | Condition |
|---|---|
| ArgumentNullException | key or updateValueFactory is null. |
| OverflowException | The dictionary already contains the maximum number of elements (MaxValue). |
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.