只是一个普遍的好奇心问题。为什么在创建项目时默认情况下在Visual Studio中添加了此命名空间“System.Collections.Generic”,而不是让我们说“System.Collections”?
Generics下的Collection Classes是最优选的方式,而不是System.Collections中的Collection Classes吗?
由于 戒日
答案 0 :(得分:8)
是的,仿制品收集比普通收藏更好,因为它们带来强力打字,可防止装箱和拆箱,以及所有令人讨厌的铸造。
使用常规集合的原因很少。即使您不知道要存储的对象类型,仍然可以使用List<object>
之类的内容。
答案 1 :(得分:2)
通用集合更容易使用,默认情况下包含它们对我来说很有意义。
答案 2 :(得分:1)
.NET 2.0添加了泛型集合,它应该完全取代在为.NET 2.0及更高版本构建的应用程序中使用非泛型集合。
它们有许多优点,特别是因为它们带来了强大的打字并且避免了价值类型的装箱。
至于默认情况下添加命名空间的原因 - 我猜微软决定添加它以鼓励使用它而不是旧的System.Collections类。
答案 3 :(得分:0)
我怀疑如果MS使用泛型集合类发布了.NET BCL,那么很多非泛型版本都不会包含在内。
话虽如此,微软的代码中使用了ArrayList
。