System.Collections.Hashtable对象是否已过时?
随着C#v2和v3中泛型的实现和改进,我发现Hashtable比通用词典更合适已经有很长一段时间了.从字面上看,我不记得上次我使用Hashtable了.
只是想知道是否有其他人发现Hashtable仍然适合或优先用于实现的情况和该决定的基础 - 易用性,性能,集合大小,对象类型等.
更新:意味着将此问题限制为C#.
LBu*_*kin 12
除了显而易见的情况,您必须在现有API中使用Hashtable(例如,尚未支持泛型类型的语言).如果需要从COM访问它们,您可能还需要使用它们.我相信Hashtable是COM可见,而Dictionary不是.
除此之外,您通常希望使用Dictionary <>,因为它可以避免装箱(性能命中)并提供类型安全性.