DictionaryExtensionsTryUpdateTKey, TValue Method

Tries to update the value associated with key to newValue if the existing value with key is equal to originalValue. The operation is thread safe if dictionary is a ThreadSafeDictionaryTKey, TValue, ConcurrentDictionaryTKey, TValue or LockingDictionaryTKey, TValue instance. For other IDictionaryTKey, TValue implementations the caller should care about thread safety if needed.


Namespace: KGySoft.CoreLibraries
Assembly: KGySoft.CoreLibraries (in KGySoft.CoreLibraries.dll) Version: 7.0.0-rc.1
public static bool TryUpdate<TKey, TValue>(
	this IDictionary<TKey, TValue> dictionary,
	TKey key,
	TValue newValue,
	TValue originalValue


dictionary  IDictionaryTKey, TValue
The target dictionary.
key  TKey
The key of the item to replace.
newValue  TValue
The replacement value of key if its value equals to originalValue.
originalValue  TValue
The expected original value of the stored item with the associated key.

Type Parameters

The type of the keys in the dictionary.
The type of the values in the dictionary.

Return Value

if dictionary is not read-only and the value with key was equal to originalValue and was replaced with newValue; otherwise, .

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).


ArgumentNullExceptiondictionary or key is .

See Also