Friday 18 March 2016

.net - Why is Dictionary preferred over Hashtable in C#?




In most programming languages, dictionaries are preferred over hashtables.
What are the reasons behind that?


Answer



For what it's worth, a Dictionary is (conceptually) a hash table.



If you meant "why do we use the Dictionary class instead of the Hashtable class?", then it's an easy answer: Dictionary is a generic type, Hashtable is not. That means you get type safety with Dictionary, because you can't insert any random object into it, and you don't have to cast the values you take out.



Interestingly, the Dictionary implementation in the .NET Framework is based on the Hashtable, as you can tell from this comment in its source code:





The generic Dictionary was copied from Hashtable's source




Source


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...