DictionaryExtensionsGetOrAddTKey, TValue, TArg(IDictionaryTKey, TValue, TKey, FuncTKey, TArg, TValue, TArg) Method
Namespace: KGySoft.CoreLibrariesAssembly: KGySoft.CoreLibraries (in KGySoft.CoreLibraries.dll) Version: 9.0.0
public static TValue GetOrAdd<TKey, TValue, TArg>(
this IDictionary<TKey, TValue> dictionary,
TKey key,
Func<TKey, TArg, TValue> addValueFactory,
TArg factoryArgument
)
<ExtensionAttribute>
Public Shared Function GetOrAdd(Of TKey, TValue, TArg) (
dictionary As IDictionary(Of TKey, TValue),
key As TKey,
addValueFactory As Func(Of TKey, TArg, TValue),
factoryArgument As TArg
) As TValue
public:
[ExtensionAttribute]
generic<typename TKey, typename TValue, typename TArg>
static TValue GetOrAdd(
IDictionary<TKey, TValue>^ dictionary,
TKey key,
Func<TKey, TArg, TValue>^ addValueFactory,
TArg factoryArgument
)
[<ExtensionAttribute>]
static member GetOrAdd :
dictionary : IDictionary<'TKey, 'TValue> *
key : 'TKey *
addValueFactory : Func<'TKey, 'TArg, 'TValue> *
factoryArgument : 'TArg -> 'TValue
- dictionary IDictionaryTKey, TValue
- The target dictionary.
- key TKey
- The key of the element to add or whose value should be returned.
- addValueFactory FuncTKey, TArg, TValue
- The delegate to be used to generate the value, if the key does not already exist.
- factoryArgument TArg
- An argument to pass into addValueFactory.
- 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.
TValueThe value for the key. This will be either the existing value for the
key if the key is already in the dictionary,
or the result of the specified
addValueFactory if the key was not in the dictionary.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).