Class TrackingDictionary<TKey, TValue>
- Namespace
- Stride.Core.Collections
- Assembly
- Stride.Core.dll
Represents a dictionary of key/value pairs that generates events when items get added or removed.
[DataSerializer(typeof(DictionaryAllSerializer<,,>), Mode = DataSerializerGenericMode.TypeAndGenericArguments)]
public class TrackingDictionary<TKey, TValue> : IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IDictionary, ICollection, IEnumerable, ITrackingCollectionChanged where TKey : notnullType Parameters
- TKey
- The type of the key. 
- TValue
- The type of the value. 
- Inheritance
- 
      objectTrackingDictionary<TKey, TValue>
- Implements
- 
      IDictionary<TKey, TValue>ICollection<KeyValuePair<TKey, TValue>>IEnumerable<KeyValuePair<TKey, TValue>>
- Extension Methods
Remarks
Underlying storage is done with a Dictionary<TKey, TValue>.
Constructors
TrackingDictionary()
Initializes a new instance of the TrackingDictionary<TKey, TValue> class.
public TrackingDictionary()Properties
Count
Gets the number of elements contained in the ICollection<T>.
public int Count { get; }Property Value
- int
- The number of elements contained in the ICollection<T>. 
IsReadOnly
Gets a value indicating whether the ICollection<T> is read-only.
public bool IsReadOnly { get; }Property Value
- bool
- true if the ICollection<T> is read-only; otherwise, false. 
this[TKey]
Gets or sets the element with the specified key.
public TValue this[TKey key] { get; set; }Parameters
- keyTKey
- The key of the element to get or set. 
Property Value
- TValue
- The element with the specified key. 
Exceptions
- ArgumentNullException
- keyis null.
- KeyNotFoundException
- The property is retrieved and - keyis not found.
- NotSupportedException
- The property is set and the IDictionary<TKey, TValue> is read-only. 
Keys
Gets an ICollection<T> containing the keys of the IDictionary<TKey, TValue>.
public ICollection<TKey> Keys { get; }Property Value
- ICollection<TKey>
- An ICollection<T> containing the keys of the object that implements IDictionary<TKey, TValue>. 
Values
Gets an ICollection<T> containing the values in the IDictionary<TKey, TValue>.
public ICollection<TValue> Values { get; }Property Value
- ICollection<TValue>
- An ICollection<T> containing the values in the object that implements IDictionary<TKey, TValue>. 
Methods
Add(KeyValuePair<TKey, TValue>)
Adds an item to the ICollection<T>.
public void Add(KeyValuePair<TKey, TValue> item)Parameters
- itemKeyValuePair<TKey, TValue>
- The object to add to the ICollection<T>. 
Exceptions
- NotSupportedException
- The ICollection<T> is read-only. 
Add(TKey, TValue)
Adds an element with the provided key and value to the IDictionary<TKey, TValue>.
public void Add(TKey key, TValue value)Parameters
- keyTKey
- The object to use as the key of the element to add. 
- valueTValue
- The object to use as the value of the element to add. 
Exceptions
- ArgumentNullException
- keyis null.
- ArgumentException
- An element with the same key already exists in the IDictionary<TKey, TValue>. 
- NotSupportedException
- The IDictionary<TKey, TValue> is read-only. 
Clear()
Removes all items from the ICollection<T>.
public void Clear()Exceptions
- NotSupportedException
- The ICollection<T> is read-only. 
Contains(KeyValuePair<TKey, TValue>)
Determines whether the ICollection<T> contains a specific value.
public bool Contains(KeyValuePair<TKey, TValue> item)Parameters
- itemKeyValuePair<TKey, TValue>
- The object to locate in the ICollection<T>. 
Returns
- bool
- true if - itemis found in the ICollection<T>; otherwise, false.
ContainsKey(TKey)
Determines whether the IDictionary<TKey, TValue> contains an element with the specified key.
public bool ContainsKey(TKey key)Parameters
- keyTKey
- The key to locate in the IDictionary<TKey, TValue>. 
Returns
- bool
- true if the IDictionary<TKey, TValue> contains an element with the key; otherwise, false. 
Exceptions
- ArgumentNullException
- keyis null.
CopyTo(KeyValuePair<TKey, TValue>[], int)
Copies the elements of the ICollection<T> to an Array, starting at a particular Array index.
public void CopyTo(KeyValuePair<TKey, TValue>[] array, int arrayIndex)Parameters
- arrayKeyValuePair<TKey, TValue>[]
- The one-dimensional Array that is the destination of the elements copied from ICollection<T>. The Array must have zero-based indexing. 
- arrayIndexint
- The zero-based index in - arrayat which copying begins.
Exceptions
- ArgumentNullException
- arrayis null.
- ArgumentOutOfRangeException
- arrayIndexis less than 0.
- ArgumentException
- The number of elements in the source ICollection<T> is greater than the available space from - arrayIndexto the end of the destination- array.
GetEnumerator()
Returns an enumerator that iterates through the collection.
public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator()Returns
- IEnumerator<KeyValuePair<TKey, TValue>>
- An enumerator that can be used to iterate through the collection. 
Remove(KeyValuePair<TKey, TValue>)
Removes the first occurrence of a specific object from the ICollection<T>.
public bool Remove(KeyValuePair<TKey, TValue> item)Parameters
- itemKeyValuePair<TKey, TValue>
- The object to remove from the ICollection<T>. 
Returns
- bool
- true if - itemwas successfully removed from the ICollection<T>; otherwise, false. This method also returns false if- itemis not found in the original ICollection<T>.
Exceptions
- NotSupportedException
- The ICollection<T> is read-only. 
Remove(TKey)
Removes the element with the specified key from the IDictionary<TKey, TValue>.
public bool Remove(TKey key)Parameters
- keyTKey
- The key of the element to remove. 
Returns
- bool
- true if the element is successfully removed; otherwise, false. This method also returns false if - keywas not found in the original IDictionary<TKey, TValue>.
Exceptions
- ArgumentNullException
- keyis null.
- NotSupportedException
- The IDictionary<TKey, TValue> is read-only. 
TryGetValue(TKey, out TValue)
Gets the value associated with the specified key.
public bool TryGetValue(TKey key, out TValue value)Parameters
- keyTKey
- The key whose value to get. 
- valueTValue
- When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the - valueparameter. This parameter is passed uninitialized.
Returns
- bool
- true if the object that implements IDictionary<TKey, TValue> contains an element with the specified key; otherwise, false. 
Exceptions
- ArgumentNullException
- keyis null.
Events
CollectionChanged
Occurs when [collection changed].
public event EventHandler<TrackingCollectionChangedEventArgs> CollectionChanged