protected virtual int CalcCombinedHashCode(EqualityComparerContext context, T element, int hashCode) => HashHelper.CombineHashCodes( hashCode * 397, element != null ? context.TryAdd(element) ? ElementEqualityComparer.GetHashCode(element) : ~hashCode : ~(hashCode ^ HashHelper.HashSeed));
/// <summary> /// Returns true if this set contains only the specified element. /// </summary> public bool IsSingleton(TElement element) { return(1 == Count && ElementEqualityComparer.Equals(_array[0], element)); }
protected virtual bool AreEquals(EqualityComparerContext context, T x, T y) => (!context.TryAdd(x) | !context.TryAdd(y)) || ElementEqualityComparer.Equals(x, y);