gpt4 book ai didi

vb.net - 在 VB.NET 中创建空数组的建议方法是什么?

转载 作者:行者123 更新时间:2023-12-04 02:06:30 26 4
gpt4 key购买 nike

在 VB.NET 中获取数组的最佳方法是什么,它可以是 Nothing 也可以初始化并赋予它零长度?

我能想到的三个选项是:

ReDim oBytes(-1)

oBytes = New Byte(-1) {}

oBytes = New Byte() {}

第一个例子是我公司的大多数开发人员(我们曾经做 VB 6)一直使用的。我个人更喜欢第三个例子,因为它最容易理解正在发生的事情。

那么每种方法的优缺点是什么(我知道选项 2 和 3 非常相似)?

编辑
有没有人知道避免使用的原因 ReDim另一个是因为它是 VB 时代的遗留物?

并不是说我不会接受这个作为答案,如果这就是任何人所拥有的!

最佳答案

我推荐:oBytes = New Byte() {}
你应该尽量避免像 Redim 这样的“经典 VB 主义”。 ,以及其他经典 VB 时代的遗留物。我会推荐第三种选择。

编辑

要提供有关为什么要避免它的更多信息,请参阅 this MSDN page .虽然该页面没有明确反对它,但您可以看到 Redim存在其他语法所没有的缺点(和潜在的混淆)。

  • Redim只能用于现有阵列。即便如此,它在语义上等同于声明一个 new大批。 Redim释放旧数组并创建一个新数组(因此 Redim 似乎没有“添加”或“切断”元素的能力)。此外,它是破坏性的,除非 Preserve使用关键字,即使没有视觉指示正在分配。
  • 因为 Redim不能创建数组(但只能在现有数组上工作),它只能在一个过程中使用;在类级别,您被迫使用 New Byte() {}方法,即使它们在语义上相同,也为您分配两个视觉上不同的模式来分配新数组。
  • 关于vb.net - 在 VB.NET 中创建空数组的建议方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1607818/

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