HashTable 跟Dictionary的差異

HashTable 

Dictionary



1.Hashtable 是object型別 Dictionary 是泛型,減少了BOXING跟UNBOXING的消耗,速度上 會比較快
2.Dictionary 是按照順序的插入 HashTable則不是
3.預設的 Hashtable 允許單執行緒寫入, 多執行緒讀取,在多執行續下用Dictionary +LOCK效率大減,但是Net4.0以後有ConcurrentDictionary......這個選項 ,就不要用HashTable+lock了...

小結
1.單執行續重視排序又可固定型別 可以用Dictionary 
2.讓多執行續快速查找 可以用HashTable並且可以支援多種型別
3.要多執行續讀寫+快速查找===>ConcurrentDictionary 這個可以解決多重鎖問題(因為他的原始碼就有)

參考
https://referencesource.microsoft.com/mscorlib/system/Collections/Concurrent/ConcurrentDictionary.cs.html
https://www.jianshu.com/p/5c03423a4dfe
https://www.itread01.com/content/1549274781.html