Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Hashtable Constructor (Int32, IHashCodeProvider, IComparer)

Hashtable Constructor (Int32, IHashCodeProvider, IComparer)

.NET Framework 1.1

Creates an empty Hashtable with the specified initial capacity and using the default load factor, the specified hash code provider and the specified comparer.

[Visual Basic]
Public Sub New( _
   ByVal capacity As Integer, _
   ByVal hcp As IHashCodeProvider, _
   ByVal comparer As IComparer _
public Hashtable(
   int capacity,
 IHashCodeProvider hcp,
 IComparer comparer
public: Hashtable(
   int capacity,
 IHashCodeProvider* hcp,
 IComparer* comparer
public function Hashtable(
   capacity : int,
 hcp : IHashCodeProvider,
 comparer : IComparer


The approximate number of elements that the Hashtable can initially contain.
The IHashCodeProvider that supplies the hash codes for all keys in the Hashtable.


A null reference (Nothing in Visual Basic) to use the default hash code provider, which is each key's implementation of Object.GetHashCode.

The IComparer to use to determine whether two keys are equal.


A null reference (Nothing in Visual Basic) to use the default comparer, which is each key's implementation of Object.Equals.


Specifying the initial capacity eliminates the need to perform a number of resizing operations while adding elements to the Hashtable. 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. The default load factor is 1.0, which is the best balance between speed and size.

When the actual load factor reaches the 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 such scenarios as doing lookups with case-insensitive strings.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

Hashtable Class | Hashtable Members | System.Collections Namespace | Hashtable Constructor Overload List | IHashCodeProvider | IComparer | Object.GetHashCode | Object.Equals

© 2015 Microsoft