Class IDictionaryExtensions
Contains extension methods for IDictionary<TKey, TValue>.
Inherited Members
Namespace: Microsoft.XboxStudios.BotBrain
Assembly: BotBrain.Core.dll
Syntax
public static class IDictionaryExtensionsMethods
View SourceIncrement<TKey>(IDictionary<TKey, int>, TKey, int, int)
Increments a dictionary value for a specified key.
Declaration
public static void Increment<TKey>(this IDictionary<TKey, int> self, TKey key, int amount, int defaultValue = 0)Parameters
| Type | Name | Description | 
|---|---|---|
| IDictionary<TKey, int> | self | The calling dictionary which is being modified. | 
| TKey | key | The target key. | 
| int | amount | The amount to increment the value by. | 
| int | defaultValue | The default value for a non-existent key. | 
Type Parameters
| Name | Description | 
|---|---|
| TKey | The type corresponding to the dictionary keys. | 
Increment<TKey>(IDictionary<TKey, TimeSpan>, TKey, TimeSpan, TimeSpan)
Increments a dictionary value for a specified key.
Declaration
public static void Increment<TKey>(this IDictionary<TKey, TimeSpan> self, TKey key, TimeSpan amount, TimeSpan defaultValue = default)Parameters
| Type | Name | Description | 
|---|---|---|
| IDictionary<TKey, TimeSpan> | self | The calling dictionary which is being modified. | 
| TKey | key | The target key. | 
| TimeSpan | amount | The duration to increment the value by. | 
| TimeSpan | defaultValue | The default value for a non-existent key. | 
Type Parameters
| Name | Description | 
|---|---|
| TKey | The type corresponding to the dictionary keys. | 
Merge<TKey, TValue>(IDictionary<TKey, TValue>, IEnumerable<KeyValuePair<TKey, TValue>>)
Merges a dictionary and an enumerable of key-value pairs together, while not overwriting any key already existing in the dictionary.
Declaration
public static void Merge<TKey, TValue>(this IDictionary<TKey, TValue> self, IEnumerable<KeyValuePair<TKey, TValue>> other)Parameters
| Type | Name | Description | 
|---|---|---|
| IDictionary<TKey, TValue> | self | The calling dictionary which is being modified. | 
| IEnumerable<KeyValuePair<TKey, TValue>> | other | An enumerable of key-value pairs to merge in. | 
Type Parameters
| Name | Description | 
|---|---|
| TKey | The type corresponding to the dictionary keys. | 
| TValue | The type corresponding to the dictionary values. | 
Modify<TKey, TValue>(IDictionary<TKey, TValue>, TKey, Func<TValue, TValue>, TValue)
Modifies the value of a dictionary entry based on a specified modification function.
Declaration
public static void Modify<TKey, TValue>(this IDictionary<TKey, TValue> self, TKey key, Func<TValue, TValue> modify, TValue defaultValue = default) where TValue : notnullParameters
| Type | Name | Description | 
|---|---|---|
| IDictionary<TKey, TValue> | self | The calling dictionary which is being modified. | 
| TKey | key | The target key. | 
| Func<TValue, TValue> | modify | A function that transforms the current key's value. | 
| TValue | defaultValue | The default value for a non-existent key. | 
Type Parameters
| Name | Description | 
|---|---|
| TKey | The type corresponding to the dictionary keys. | 
| TValue | The type corresponding to the dictionary values. |