Hashtable Constructor (Int32, IEqualityComparer)
Initializes a new, empty instance of the Hashtable class using the specified initial capacity and IEqualityComparer, and the default load factor.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- capacity
- Type: System.Int32
The approximate number of elements that the Hashtable object can initially contain.
- equalityComparer
- Type: System.Collections.IEqualityComparer
The IEqualityComparer object that defines the hash code provider and the comparer to use with the Hashtable.
-or-
a null reference (Nothing in Visual Basic) to use the default hash code provider and the default comparer. The default hash code provider is each key's implementation of Object.GetHashCode and the default comparer is each key's implementation of Object.Equals.
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | capacity is less than zero. |
Specifying the initial capacity eliminates the need to perform a number of resizing operations while adding elements to the Hashtable object. Capacity is automatically increased as required based on the load factor.
The load factor is the maximum ratio of elements to buckets. A smaller load factor means faster lookup at the cost of increased memory consumption.
When the actual load factor reaches the specified load factor, the number of buckets is automatically increased to the smallest prime number that is larger than twice the current number of buckets.
The IEqualityComparer object includes both the hash code provider and the comparer. If an IEqualityComparer is used in the Hashtable constructor, the objects used as keys in the Hashtable are not required to override the Object.GetHashCode and Object.Equals methods.
The hash code provider dispenses hash codes for keys in the Hashtable. The default hash code provider is the key's implementation of Object.GetHashCode.
The comparer determines whether two keys are equal. Every key in a Hashtable must be unique. The default comparer is the key's implementation of Object.Equals.
The IEqualityComparer enables scenarios such as doing lookups with case-insensitive strings.
This constructor is an O(n) operation, where n is the capacity parameter.
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.