|
CollectionExtensionsAddOrUpdateTKey, TValue(IDictionaryTKey, TValue, TKey, FuncTKey, TValue, FuncTKey, TValue, TValue) Method
|
Namespace: GSF.CollectionsAssembly: GSF.Core (in GSF.Core.dll) Version: 2.4.218-beta+101eee949414e414795e55a6e73d88938f0177b8
Syntax public static TValue AddOrUpdate<TKey, TValue>(
this IDictionary<TKey, TValue> dictionary,
TKey key,
Func<TKey, TValue> addValueFactory,
Func<TKey, TValue, TValue> updateValueFactory
)
<ExtensionAttribute>
Public Shared Function AddOrUpdate(Of TKey, TValue) (
dictionary As IDictionary(Of TKey, TValue),
key As TKey,
addValueFactory As Func(Of TKey, 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,
Func<TKey, TValue>^ addValueFactory,
Func<TKey, TValue, TValue>^ updateValueFactory
)
[<ExtensionAttribute>]
static member AddOrUpdate :
dictionary : IDictionary<'TKey, 'TValue> *
key : 'TKey *
addValueFactory : Func<'TKey, 'TValue> *
updateValueFactory : Func<'TKey, 'TValue, 'TValue> -> 'TValue
JavaScript does not support generic types or methods.
View SourceParameters
- 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
- addValueFactory FuncTKey, TValue
- The function used to generate a value 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