<PackageReference Include="NETStandard.Library" Version="2.0.1" />

System.Collections.Generic.HashSet<T>

namespace System.Collections.Generic { public class HashSet<T> : ICollection<T>, IEnumerable<T>, IEnumerable, IReadOnlyCollection<T>, ISet<T>, IDeserializationCallback, ISerializable { public struct Enumerator : IEnumerator<T>, IEnumerator, IDisposable { public T Current { get; } public void Dispose(); public bool MoveNext(); } public IEqualityComparer<T> Comparer { get; } public int Count { get; } public HashSet(); public HashSet(IEnumerable<T> collection); public HashSet(IEnumerable<T> collection, IEqualityComparer<T> comparer); public HashSet(IEqualityComparer<T> comparer); protected HashSet(SerializationInfo info, StreamingContext context); 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 static IEqualityComparer<HashSet<T>> CreateSetComparer(); public void ExceptWith(IEnumerable<T> other); public Enumerator 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); } }