Class TrackingHashSet<T>
- Namespace
- Stride.Core.Collections
- Assembly
- Stride.Core.dll
Represents a hash set that generates events when items get added or removed.
public class TrackingHashSet<T> : ISet<T>, ICollection<T>, IReadOnlySet<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable, ITrackingCollectionChangedType Parameters
- T
- The type of elements in the hash set. 
- Inheritance
- 
      objectTrackingHashSet<T>
- Implements
- 
      ISet<T>ICollection<T>IReadOnlySet<T>IEnumerable<T>
- Extension Methods
Remarks
Underlying storage is done with a HashSet<T>.
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. 
Methods
Add(T)
Adds an element to the current set and returns a value to indicate if the element was successfully added.
public bool Add(T item)Parameters
- itemT
- The element to add to the set. 
Returns
Clear()
Removes all items from the ICollection<T>.
public void Clear()Exceptions
- NotSupportedException
- The ICollection<T> is read-only. 
Contains(T)
Determines whether the ICollection<T> contains a specific value.
public bool Contains(T item)Parameters
- itemT
- The object to locate in the ICollection<T>. 
Returns
- bool
- true if - itemis found in the ICollection<T>; otherwise, false.
CopyTo(T[], int)
Copies the elements of the ICollection<T> to an Array, starting at a particular Array index.
public void CopyTo(T[] array, int arrayIndex)Parameters
- arrayT[]
- 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.
ExceptWith(IEnumerable<T>)
Removes all elements in the specified collection from the current set.
public void ExceptWith(IEnumerable<T> other)Parameters
- otherIEnumerable<T>
- The collection of items to remove from the set. 
Exceptions
- ArgumentNullException
- otheris null.
GetEnumerator()
public HashSet<T>.Enumerator GetEnumerator()Returns
IntersectWith(IEnumerable<T>)
Modifies the current set so that it contains only elements that are also in a specified collection.
public void IntersectWith(IEnumerable<T> other)Parameters
- otherIEnumerable<T>
- The collection to compare to the current set. 
Exceptions
- ArgumentNullException
- otheris null.
IsProperSubsetOf(IEnumerable<T>)
Determines whether the current set is a proper (strict) subset of a specified collection.
public bool IsProperSubsetOf(IEnumerable<T> other)Parameters
- otherIEnumerable<T>
- The collection to compare to the current set. 
Returns
Exceptions
- ArgumentNullException
- otheris null.
IsProperSupersetOf(IEnumerable<T>)
Determines whether the current set is a proper (strict) superset of a specified collection.
public bool IsProperSupersetOf(IEnumerable<T> other)Parameters
- otherIEnumerable<T>
- The collection to compare to the current set. 
Returns
Exceptions
- ArgumentNullException
- otheris null.
IsSubsetOf(IEnumerable<T>)
Determines whether a set is a subset of a specified collection.
public bool IsSubsetOf(IEnumerable<T> other)Parameters
- otherIEnumerable<T>
- The collection to compare to the current set. 
Returns
Exceptions
- ArgumentNullException
- otheris null.
IsSupersetOf(IEnumerable<T>)
Determines whether the current set is a superset of a specified collection.
public bool IsSupersetOf(IEnumerable<T> other)Parameters
- otherIEnumerable<T>
- The collection to compare to the current set. 
Returns
Exceptions
- ArgumentNullException
- otheris null.
Overlaps(IEnumerable<T>)
Determines whether the current set overlaps with the specified collection.
public bool Overlaps(IEnumerable<T> other)Parameters
- otherIEnumerable<T>
- The collection to compare to the current set. 
Returns
Exceptions
- ArgumentNullException
- otheris null.
Remove(T)
Removes the first occurrence of a specific object from the ICollection<T>.
public bool Remove(T item)Parameters
- itemT
- 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. 
SetEquals(IEnumerable<T>)
Determines whether the current set and the specified collection contain the same elements.
public bool SetEquals(IEnumerable<T> other)Parameters
- otherIEnumerable<T>
- The collection to compare to the current set. 
Returns
Exceptions
- ArgumentNullException
- otheris null.
SymmetricExceptWith(IEnumerable<T>)
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
public void SymmetricExceptWith(IEnumerable<T> other)Parameters
- otherIEnumerable<T>
- The collection to compare to the current set. 
Exceptions
- ArgumentNullException
- otheris null.
UnionWith(IEnumerable<T>)
Modifies the current set so that it contains all elements that are present in the current set, in the specified collection, or in both.
public void UnionWith(IEnumerable<T> other)Parameters
- otherIEnumerable<T>
- The collection to compare to the current set. 
Exceptions
- ArgumentNullException
- otheris null.
Events
CollectionChanged
Occurs when [collection changed].
public event EventHandler<TrackingCollectionChangedEventArgs> CollectionChanged