我有一個第三方方法返回一箇舊式的ArrayList,我想將它轉換成一個類型化的ArrayList(Of MyType)。VB.NET ArrayList to List(of T)打字複製/轉換
Dim udc As ArrayList = ThirdPartyClass.GetValues()
Dim udcT AS List(Of MyType) = ??
我做了一個簡單的循環,但必須有一個更好的辦法:
Dim udcT As New List(Of MyType)
While udc.GetEnumerator.MoveNext
Dim e As MyType = DirectCast(udc.GetEnumerator.Current, MyType)
udcT.Add(e)
End While
雖然您可能會發現更漂亮的代碼,但您始終可以確切知道此代碼正在做什麼。無論如何,這可能是CLR正在做的事情。 – Bill 2010-08-24 11:43:22
@ Bill我認爲CLR可以優化,也許使用我無法訪問的內部變量。 – vulkanino 2010-08-24 11:49:26