This documentation is archived and is not being maintained.

Hashtable Constructor (Int32, Single, IHashCodeProvider, IComparer)

Note: This API is now obsolete.

Initializes a new, empty instance of the Hashtable class using the specified initial capacity, load factor, hash code provider, and comparer.

Namespace:  System.Collections
Assembly:  mscorlib (in mscorlib.dll)

[<ObsoleteAttribute("Please use Hashtable(int, float, IEqualityComparer) instead.")>]
new : 
        capacity:int * 
        loadFactor:float32 * 
        hcp:IHashCodeProvider * 
        comparer:IComparer -> Hashtable

Parameters

capacity
Type: System.Int32
The approximate number of elements that the Hashtable object can initially contain.
loadFactor
Type: System.Single
A number in the range from 0.1 through 1.0 that is multiplied by the default value which provides the best performance. The result is the maximum ratio of elements to buckets.
hcp
Type: System.Collections.IHashCodeProvider
The IHashCodeProvider object that supplies the hash codes for all keys in the Hashtable.
-or-
a null reference (Nothing in Visual Basic) to use the default hash code provider, which is each key's implementation of Object.GetHashCode.
comparer
Type: System.Collections.IComparer
The IComparer object to use to determine whether two keys are equal.
-or-
a null reference (Nothing in Visual Basic) to use the default comparer, which is each key's implementation of Object.Equals.

ExceptionCondition
ArgumentOutOfRangeException

capacity is less than zero.

-or-

loadFactor is less than 0.1.

-or-

loadFactor is greater than 1.0.

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. A load factor of 1.0 is the best balance between speed and size.

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 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 custom hash code provider and the custom comparer enable scenarios such as doing lookups with case-insensitive strings.

This constructor is an O(n) operation, where n is the capacity parameter.

The following code example creates hash tables using different Hashtable constructors and demonstrates the differences in the behavior of the hash tables, even if each one contains the same elements.

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 1.1, 1.0
Obsolete (compiler warning) in 4
Obsolete (compiler warning) in 3.5
Obsolete (compiler warning) in 3.5 SP1
Obsolete (compiler warning) in 3.0
Obsolete (compiler warning) in 3.0 SP1
Obsolete (compiler warning) in 3.0 SP2
Obsolete (compiler warning) in 2.0
Obsolete (compiler warning) in 2.0 SP1
Obsolete (compiler warning) in 2.0 SP2

.NET Framework Client Profile

Obsolete (compiler warning) in 4
Obsolete (compiler warning) in 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: