2012-05-31 63 views
4

为什么CollectionMicrosoft.VisualBasic库中?为什么它不在更一般的位置。微软从C#中“隐藏”它有什么原因吗?.NET集合仅在VB中

+3

http://msdn.microsoft.com/en-us/library/a1y8b3b3(v=vs.100).aspx –

+0

是不是Microsoft.VisualBasic?没有System.VisualBasic – dwerner

+0

@dwerner - 是的!谢谢。 – Andrew

回答

6

Microsoft.VisualBasic库中的Collection是旧式VB6集合的回退。

有一个System.Collection命名空间,您应该仔细研究一下您可能需要的基本.NET集合功能。

此外,值得一提的是,您可以在CAN的基础上添加一个引用,并使用C#代码中的System.VisualBasic命名空间。只是这样,大多数时候,没有必要这样做(例如:http://msdn.microsoft.com/en-us/library/ms173136.aspx)。

编辑 - 更新的命名空间 - 对不起!

+2

从MSDN:“虽然Visual Basic Collection对象具有与Visual Basic 6.0中的Collection对象相同的功能,但两者不能在COM环境中互操作。” – dwerner

2

它旨在与VB6向后兼容。如果可能的话,您不应该使用它来获取新代码。 List(Of T)将是首选的通用集合。

+0

'Microsoft.VisualBasic.Collection'类具有一些在任何其他框架类中不可用的功能,例如在枚举时有条件地移除项目的功能。 – supercat

1

它的功能等同于VB6中的Collection类。它只是为了便于移植VB6代码;对于任何新东西,你应该使用正常的.NET集合类。