gpt4 book ai didi

.net - 为什么要调用 ArrayList.ToArray?

转载 作者:行者123 更新时间:2023-12-03 18:28:02 25 4
gpt4 key购买 nike

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

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 中存在除 Integer 以外的其他类型,则如果您不调用 .ToArray(),则生成的错误消息会更有帮助。

如果我要执行类型为的 For Each 循环,我为什么要在 ArrayList 上使用 ToArray(type)已经指定了吗?

最佳答案

Why would I want to use ToArray(type) on an ArrayList if I will be doing a For Each loop where the type is already specified?

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

如果您的循环要修改 ArrayList,这可能会有所帮助。您不能在枚举它们时修改大多数集合,因此您会遇到异常。通过添加 ToArray 调用,您正在枚举集合的副本(作为数组),因此您可以修改原始集合。

请注意,一般情况下,如果是这种情况,我会使用 ToList(),而不是 ToArray(),因为它通常更高效一些(通常少一个内存分配)。我还建议对任何新代码使用 List(Of Integer) 而不是 ArrayList,因为这样可以获得类型安全。

关于.net - 为什么要调用 ArrayList.ToArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16594032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com