public Hash_Set <TKey> SymetricExcept(Hash_Set <TKey> other) { return(this.UnionWith(other).Except(this.IntersectWith(other))); }
public Hash_Set <TKey> IntersectWith(Hash_Set <TKey> other) { return(new Hash_Set <TKey>(this.table.Where(x => other.Contains(x.Key)))); }
public Hash_Set <TKey> Except(Hash_Set <TKey> other) { return(new Hash_Set <TKey>(this.table.Where(x => !other.Contains(x.Key)))); }
public Hash_Set <TKey> UnionWith(Hash_Set <TKey> other) { return(new Hash_Set <TKey>(other.table.Concat(this.table).Distinct())); }