|
#if NET8_0_OR_GREATER
using System.Collections;
using System.Collections.Generic;
public class ReadOnlySet<T>(
IEqualityComparer<T> comparer,
params T[] items) :
IReadOnlySet<T>
{
readonly HashSet<T> hashSet = new(items, comparer);
public int Count =>
hashSet.Count;
public bool Contains(T item) =>
hashSet.Contains(item);
public IEnumerator<T> GetEnumerator() =>
hashSet.GetEnumerator();
public bool IsProperSubsetOf(IEnumerable<T> other) =>
hashSet.IsProperSubsetOf(other);
public bool IsProperSupersetOf(IEnumerable<T> other) =>
hashSet.IsProperSupersetOf(other);
public bool IsSubsetOf(IEnumerable<T> other) =>
hashSet.IsSubsetOf(other);
public bool IsSupersetOf(IEnumerable<T> other) =>
hashSet.IsSupersetOf(other);
public bool Overlaps(IEnumerable<T> other) =>
hashSet.Overlaps(other);
public bool SetEquals(IEnumerable<T> other) =>
hashSet.SetEquals(other);
IEnumerator IEnumerable.GetEnumerator() =>
GetEnumerator();
}
#endif
|