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.
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). |
The following code example shows how to initialize an ConcurrentDictionary<TKey, TValue> and how to use the AddOrUpdate method to add an additional item to the collection, and update the existing items.
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1