【发布时间】:2011-04-03 03:04:15
【问题描述】:
我有一个返回旧式 ArrayList 的第 3 方方法,我想将其转换为类型化的 ArrayList(Of MyType)。
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 我认为 CLR 可以优化,也许使用我无法访问的内部变量。