Hashtable Constructor (IDictionary)
Initializes a new instance of the
class by copying the elements from the specified dictionary to the new Hashtable object. The new Hashtable object has an initial capacity equal to the number of elements copied, and uses the default load factor, hash code provider, and comparer. Hashtable
d:IDictionary -> Hashtable
The initial capacity is set to the number of elements in the source dictionary. 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 hash code provider dispenses hash codes for keys in the
object. The default hash code provider is the key's implementation of Hashtable . Object .GetHashCode
The comparer determines whether two keys are equal. Every key in a
must be unique. The default comparer is the key's implementation of Hashtable . Object .Equals
The elements of the new
are sorted in the same order in which the enumerator iterates through the Hashtable object. IDictionary
This constructor is an O(
n) operation, where n is the number of elements in the d parameter.
The following code example creates hash tables using different
constructors and demonstrates the differences in the behavior of the hash tables, even if each one contains the same elements. Hashtable
No code example is currently available or this language may not be supported.
Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0
.NET Framework Client Profile
Supported in: 4, 3.5 SP1
Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.