Hashtable vs Dictionary

kai*_*lya 13 .net c#

我的理解是,词典没有拳击问题,而且性能更快.是否存在使用Hashtable与Dictionary相比更可取的情况?谢谢

Joe*_*orn 20

对于.Net 2.0,你几乎总是想要字典.但是,请注意,现有的Hashtable不仅仅是"替代品".它们的工作方式(主要是它们如何处理空值)存在一些差异,这意味着您需要首先检查代码.

  • +1用于提及空值的处理.最好解释一下,当字典中不存在键时,获取异常而不是null可能会有点意外. (5认同)

Meh*_*ari 14

Hashtable几乎被弃用了.它可能有助于与遗留代码进行交互.

Dictionary是.NET 2.0中引入的泛型类,以及System.Collections.Generic命名空间中的其他类.它们取代了System.Collections名称空间中的类.


Ree*_*sey 9

HashTable的主要优点是您可以使用它并以.NET <2.0为目标.

否则,Dictionary <T,Y>(正确使用)在各方面都要好得多.