.NET中的System.Collections,System.Collections.Specialized和System.Collections.Generic有什么区别?

时间:2009-08-11 00:14:51

标签: c# .net data-structures key-value

三者之间的主要区别是什么?现在,我想分别使用两个字符串/字符串创建一个键/值对。这三个似乎都有我可以使用的选项。

编辑:我只想创建一个简单的哈希表 - 没有什么比这更复杂。

3 个答案:

答案 0 :(得分:4)

泛型集合几乎完全取代了基本集合和Collections.Specialized。要真正提供最佳建议,我们需要了解您想要做的更多事情,但赔率是您想要的System.Collections.Generic.Dictionary

答案 1 :(得分:4)

  • System.Collections:存储System.Object类型
  • 引用的容器
  • System.Collections.SpecializedSystem.Collections的专用版本,用于System.Object以外的类型(每个专业化的不同集合类型,每个都存储在程序集中)
  • System.Collections.Generic:上述两者的替代品,因为运行时将确定如何为其中存储的类型创建集合(所有特化的一种集合类型)。

答案 2 :(得分:1)

答案很大程度上取决于您的使用情况。在不知道细节的情况下,我会说看看System.Collections.Specialized.NameValueCollection for string,string。 System.Collections.Specialized& System.Collections.Generic是强类型的,我认为System.Collections只是从.NET 1.1中遗留下来。