Dictionary is a generic class Dictionary<TKey,TValue>, where as HashTable needs casting of the objects.
var Employees=new Dictionary<string,Employee>();
Employee emp=Employees[“JohnDoe”];
var Employees=new HashTable();
Employee emp=Employees[“JohnDoe”] as Employee;
Dictionary cannot be used with webservices as no webservices support generics.
Dictionary is implementation of the hashtable
Dictionary is TypeSafe, it can support multiple readers as long as the collection is not modified.