ThreadSafeDictionaryTKey, TValueAddOrUpdateTArg(TKey, FuncTKey, TArg, TValue, FuncTKey, TValue, TArg, TValue, TArg) Method
Namespace: KGySoft.CollectionsAssembly: KGySoft.CoreLibraries (in KGySoft.CoreLibraries.dll) Version: 8.1.0
public TValue AddOrUpdate<TArg>(
TKey key,
Func<TKey, TArg, TValue> addValueFactory,
Func<TKey, TValue, TArg, TValue> updateValueFactory,
TArg factoryArgument
)
Public Function AddOrUpdate(Of TArg) (
key As TKey,
addValueFactory As Func(Of TKey, TArg, TValue),
updateValueFactory As Func(Of TKey, TValue, TArg, TValue),
factoryArgument As TArg
) As TValue
public:
generic<typename TArg>
TValue AddOrUpdate(
TKey key,
Func<TKey, TArg, TValue>^ addValueFactory,
Func<TKey, TValue, TArg, TValue>^ updateValueFactory,
TArg factoryArgument
)
member AddOrUpdate :
key : 'TKey *
addValueFactory : Func<'TKey, 'TArg, 'TValue> *
updateValueFactory : Func<'TKey, 'TValue, 'TArg, 'TValue> *
factoryArgument : 'TArg -> 'TValue
- 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.
- 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).