HashSet<T> public class HashSet<T> : ICollection<T>, IEnumerable<T>, IEnumerable, ISerializable, IDeserializationCallback Documentation Code public struct Enumerator<T> : IEnumerator<T>, IDisposable, IEnumerator public IEqualityComparer<T> Comparer { get; } public int Count { get; } public HashSet() public HashSet(IEqualityComparer<T> comparer) public HashSet(IEnumerable<T> collection) public HashSet(IEnumerable<T> collection, IEqualityComparer<T> comparer) protected HashSet(SerializationInfo info, StreamingContext context) public static IEqualityComparer<HashSet<T>> CreateSetComparer() public bool Add(T item) public void Clear() public bool Contains(T item) public void CopyTo(T[] array) public void CopyTo(T[] array, int arrayIndex) public void CopyTo(T[] array, int arrayIndex, int count) public void ExceptWith(IEnumerable<T> other) public Enumerator<T> GetEnumerator() public virtual void GetObjectData(SerializationInfo info, StreamingContext context) public void IntersectWith(IEnumerable<T> other) public bool IsProperSubsetOf(IEnumerable<T> other) public bool IsProperSupersetOf(IEnumerable<T> other) public bool IsSubsetOf(IEnumerable<T> other) public bool IsSupersetOf(IEnumerable<T> other) public virtual void OnDeserialization(object sender) public bool Overlaps(IEnumerable<T> other) public bool Remove(T item) public int RemoveWhere(Predicate<T> match) public bool SetEquals(IEnumerable<T> other) public void SymmetricExceptWith(IEnumerable<T> other) public void TrimExcess() public void UnionWith(IEnumerable<T> other)