Click or drag to resize

CollectionExtensions.AddOrUpdate<TKey, TValue> (IDictionary<TKey, TValue> , TKey, Func<TKey, TValue> , Func<TKey, TValue, TValue> ) Method

Adds a key/value pair to the IDictionary<TKey, TValue> if the key does not already exist, or updates a key/value pair in the IDictionary<TKey, TValue> if the key already exists.

Namespace: GSF.Collections
Assembly: GSF.Core (in GSF.Core.dll) Version: 2.4.239-beta+5928cebde0dd955df84e791f5ea67acbd192773e
Syntax
public static TValue AddOrUpdate<TKey, TValue>(
	this IDictionary<TKey, TValue> dictionary,
	TKey key,
	Func<TKey, TValue> addValueFactory,
	Func<TKey, TValue, TValue> updateValueFactory
)
View Source

Parameters

dictionary  IDictionary<TKey, TValue>
The dictionary to add the key/value pair to if the key does not already exist.
key  TKey
The key to be added or whose value should be updated
addValueFactory  Func<TKey, TValue>
The function used to generate a value for an absent key
updateValueFactory  Func<TKey, TValue, TValue>
The function used to generate a new value for an existing key based on the key's existing value

Type Parameters

TKey
TValue

Return Value

TValue
The new value for the key. This will be either be the result of addValueFactory (if the key was absent) or the result of updateValueFactory (if the key was present).

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IDictionary<TKey, TValue>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also