System.Collections.Hashtable.Hashtable C# (CSharp) Method

Hashtable() public method

public Hashtable ( int capacity, float loadFactor ) : System.Diagnostics
capacity int
loadFactor float
return System.Diagnostics
        public Hashtable(int capacity, float loadFactor)
        {
            if (capacity < 0)
                throw new ArgumentOutOfRangeException(nameof(capacity), SR.ArgumentOutOfRange_NeedNonNegNum);
            if (!(loadFactor >= 0.1f && loadFactor <= 1.0f))
                throw new ArgumentOutOfRangeException(nameof(loadFactor), SR.Format(SR.ArgumentOutOfRange_HashtableLoadFactor, .1, 1.0));
            Contract.EndContractBlock();

            // Based on perf work, .72 is the optimal load factor for this table.  
            _loadFactor = 0.72f * loadFactor;

            double rawsize = capacity / _loadFactor;
            if (rawsize > Int32.MaxValue)
                throw new ArgumentException(SR.Arg_HTCapacityOverflow, nameof(capacity));

            // Avoid awfully small sizes
            int hashsize = (rawsize > InitialSize) ? HashHelpers.GetPrime((int)rawsize) : InitialSize;
            _buckets = new bucket[hashsize];

            _loadsize = (int)(_loadFactor * hashsize);
            _isWriterInProgress = false;
            // Based on the current algorithm, loadsize must be less than hashsize.
            Debug.Assert(_loadsize < hashsize, "Invalid hashtable loadsize!");
        }

Same methods

Hashtable::Hashtable ( ) : System.Diagnostics
Hashtable::Hashtable ( IDictionary d ) : System.Diagnostics
Hashtable::Hashtable ( IDictionary d, IEqualityComparer equalityComparer ) : System.Diagnostics
Hashtable::Hashtable ( IDictionary d, IHashCodeProvider hcp, IComparer comparer ) : System.Diagnostics
Hashtable::Hashtable ( IDictionary d, float loadFactor ) : System.Diagnostics
Hashtable::Hashtable ( IDictionary d, float loadFactor, IEqualityComparer equalityComparer ) : System.Diagnostics
Hashtable::Hashtable ( IDictionary d, float loadFactor, IHashCodeProvider hcp, IComparer comparer ) : System.Diagnostics
Hashtable::Hashtable ( IEqualityComparer equalityComparer ) : System.Diagnostics
Hashtable::Hashtable ( IHashCodeProvider hcp, IComparer comparer ) : System.Diagnostics
Hashtable::Hashtable ( SerializationInfo info, StreamingContext context ) : System.Diagnostics
Hashtable::Hashtable ( bool trash ) : System.Diagnostics
Hashtable::Hashtable ( int capacity ) : System.Diagnostics
Hashtable::Hashtable ( int capacity, IEqualityComparer equalityComparer ) : System.Diagnostics
Hashtable::Hashtable ( int capacity, IHashCodeProvider hcp, IComparer comparer ) : System.Diagnostics
Hashtable::Hashtable ( int capacity, float loadFactor, IEqualityComparer equalityComparer ) : System.Diagnostics
Hashtable::Hashtable ( int capacity, float loadFactor, IHashCodeProvider hcp, IComparer comparer ) : System.Diagnostics