|   | CollectionExtensionsAddOrUpdateTKey, TValue(IDictionaryTKey, TValue, TKey, TValue, FuncTKey, TValue, TValue) Method | 
        
        
        
        Namespace: GSF.CollectionsAssembly: GSF.Core (in GSF.Core.dll) Version: 2.4.257-beta+00aa2366fbb9ec75f636ebc7cfa610e3826a727c
 Syntax
Syntaxpublic static TValue AddOrUpdate<TKey, TValue>(
	this IDictionary<TKey, TValue> dictionary,
	TKey key,
	TValue addValue,
	Func<TKey, TValue, TValue> updateValueFactory
)
<ExtensionAttribute>
Public Shared Function AddOrUpdate(Of TKey, TValue) ( 
	dictionary As IDictionary(Of TKey, TValue),
	key As TKey,
	addValue As TValue,
	updateValueFactory As Func(Of TKey, TValue, TValue)
) As TValue
public:
[ExtensionAttribute]
generic<typename TKey, typename TValue>
static TValue AddOrUpdate(
	IDictionary<TKey, TValue>^ dictionary, 
	TKey key, 
	TValue addValue, 
	Func<TKey, TValue, TValue>^ updateValueFactory
)
[<ExtensionAttribute>]
static member AddOrUpdate : 
        dictionary : IDictionary<'TKey, 'TValue> * 
        key : 'TKey * 
        addValue : 'TValue * 
        updateValueFactory : Func<'TKey, 'TValue, 'TValue> -> 'TValue JavaScript does not support generic types or methods.
Parameters
- dictionary  IDictionaryTKey, 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
- addValue  TValue
- The value to be added for an absent key
- updateValueFactory  FuncTKey, 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
TValueThe 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 
IDictionaryTKey, 
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
See Also