コード例 #1
0
        public OrderedHashSet(int capacity, IEqualityComparer <TValue> comparer = null)
        {
            if (capacity < 0)
            {
                throw new ArgumentOutOfRangeException(nameof(capacity));
            }

            if (capacity > 0)
            {
                int newSize = HashHelpers.GetPrime(capacity);
                _buckets           = new int[newSize];
                _entries           = new Entry[newSize];
                _fastModMultiplier = HashHelpers.GetFastModMultiplier((uint)newSize);
            }

            if (comparer != EqualityComparer <TValue> .Default)
            {
                _comparer = comparer;
            }
        }