2012-05-31 96 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集合類。