DictionaryExtensionsAddOrUpdateTKey, TValue, TArg(IDictionaryTKey, TValue, TKey, FuncTKey, TArg, TValue, FuncTKey, TValue, TArg, TValue, TArg) Method
Namespace: KGySoft.CoreLibrariesAssembly: KGySoft.CoreLibraries (in KGySoft.CoreLibraries.dll) Version: 9.0.0
public static TValue AddOrUpdate<TKey, TValue, TArg>(
this IDictionary<TKey, TValue> dictionary,
TKey key,
Func<TKey, TArg, TValue> addValueFactory,
Func<TKey, TValue, TArg, TValue> updateValueFactory,
TArg factoryArgument
)
<ExtensionAttribute>
Public Shared Function AddOrUpdate(Of TKey, TValue, TArg) (
dictionary As IDictionary(Of TKey, TValue),
key As TKey,
addValueFactory As Func(Of TKey, TArg, TValue),
updateValueFactory As Func(Of TKey, TValue, TArg, TValue),
factoryArgument As TArg
) As TValue
public:
[ExtensionAttribute]
generic<typename TKey, typename TValue, typename TArg>
static TValue AddOrUpdate(
IDictionary<TKey, TValue>^ dictionary,
TKey key,
Func<TKey, TArg, TValue>^ addValueFactory,
Func<TKey, TValue, TArg, TValue>^ updateValueFactory,
TArg factoryArgument
)
[<ExtensionAttribute>]
static member AddOrUpdate :
dictionary : IDictionary<'TKey, 'TValue> *
key : 'TKey *
addValueFactory : Func<'TKey, 'TArg, 'TValue> *
updateValueFactory : Func<'TKey, 'TValue, 'TArg, 'TValue> *
factoryArgument : 'TArg -> 'TValue
- dictionary IDictionaryTKey, TValue
- The target dictionary.
- key TKey
- The key to be added or whose value should be updated.
- addValueFactory FuncTKey, TArg, TValue
- A delegate used to generate a value for an absent key.
- updateValueFactory FuncTKey, TValue, TArg, TValue
- A delegate used to generate a new value for an existing key based on the key's existing value.
- factoryArgument TArg
- An argument to pass into addValueFactory and updateValueFactory.
- TKey
- The type of the keys in the dictionary.
- TValue
- The type of the values in the dictionary.
- TArg
- The type of an argument to pass into addValueFactory and updateValueFactory.
TValueThe new value for the
key. This will be either the result of
addValueFactory (if the key was absent)
or the result of
updateValueFactory (if the key was present).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).