首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我要调用ArrayList.ToArray?

为什么我要调用ArrayList.ToArray?
EN

Stack Overflow用户
提问于 2013-05-17 01:42:09
回答 5查看 642关注 0票数 3

在我工作的代码库中,有几个地方的代码类似于以下代码:

代码语言:javascript
运行
复制
Dim i As Integer
Dim ints As New ArrayList
ints.Add(1)

'... lets say we add more Integers

For each i in ints.ToArray(GetType(Integer))
'Do something
Next

我想知道,由于省略了在运行时具有几乎相同的结果,所以从.ToArray(GetType(Integer))中获得了什么好处。这就是调用For Each i In ints。我看到的唯一区别是,如果ArrayList中存在整数以外的其他类型,如果不调用.ToArray(),则产生的错误消息会更有帮助

如果我要做一个已经指定了类型的For Each循环,为什么还要在ArrayList上使用For Each

EN

Stack Overflow用户

回答已采纳

发布于 2013-05-17 01:46:54

如果我要执行一个已经指定了类型的

循环,为什么要在ArrayList上使用ToArray(类型)呢?

一般来说,您可能不想这样做。调用ToArray()实际上会创建一个新的值数组。

如果您的循环要修改ArrayList,那么这样做可能会有好处。你不能在枚举时修改大多数集合,所以你会得到一个异常。通过添加ToArray调用,可以枚举集合的副本(作为数组),因此可以修改原始集合。

注意,一般来说,如果是这样的话,我会使用ToList(),而不是ToArray(),因为它通常会更高效一些(通常会减少一个内存分配)。我还建议在任何新代码中使用List(Of Integer)而不是ArrayList,因为这样可以保证类型安全。

票数 5
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16594032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档