- Dictionary returns error if we try to find a key which does not exist.
- Dictionary faster than a Hashtable because there is no boxing and unboxing.
- Dictionary is a generic type which means we can use it with any data type.
- Hashtable returns null if we try to find a key which does not exist.
- Hashtable slower than dictionary because it requires boxing and unboxing.
- Hashtable is not a generic type,
If you care about reading that will always return the objects in the order they are inserted in a Dictionary, you may have a look at
MSDN Article: “The Dictionary class has the same functionality as the Hashtable class. A Dictionary of a specific type (other than Object) has better performance than a Hashtable for value types because the elements of Hashtable are of type Object and, therefore, boxing and unboxing typically occur if storing or retrieving a value type”. Link: http://msdn.microsoft.com/en-us/library/4yh14awz(v=vs.90).aspx
Dictionary is faster than hashtable as dictionary is a generic strong type. Hashtable is slower as it takes object as data type which leads to boxing and unboxing.