不,我不会那样做.它似乎可能有助于维护,但这是一个非常短视的观点.
@H_502_1@这样想吧.只需要每个必须理解和维护代码的程序员在短时间内熟悉零索引数组.但是,如果您使用的是基于单一的数组,这与几乎所有其他VB.NET代码中的数组不同,实际上几乎所有其他常见的编程语言,它将使团队中的每个人都更长.他们会经常犯错误,因为他们的自然假设在这一特殊情况下并不准确.
@H_502_1@我知道它的感受.当我在VB 6工作时,我喜欢基于单一的数组.它们对于我存储的数据类型非常自然,我在整个地方都使用它们.这里完全可记录,因为您有明确的语法来指定数组的上限和下限. VB.NET(这是一个较新但不兼容的Visual Basic语言版本)的情况并非如此,其中所有数组都必须为零索引.我在前几天很难切换到VB.NET的基于零的数组.在调整的最初阶段之后,我可以诚实地说我从未回头.
@H_502_1@有些人可能会争辩说,将每个数组的第一个元素留空会不必要地消耗额外的内存.虽然这显然是正确的,但我认为这是我上面提到的背后的次要原因.优秀的开发人员为其他人编写代码以供阅读,因此我建议您考虑如何使代码合乎逻辑且易于理解.通过提出这个问题,你走在了正确的道路上.但从长远来看,我认为这个决定并不好.
@H_502_1@在特定情况下可能会有一些异常,具体取决于您存储在数组中的数据类型.但同样,未能全面做到这一点似乎会损害整体的可读性,而不是帮助它.一旦您了解了数组的索引方式,简单地编写以下内容并不是特别违反直觉:
For i As Integer = 0 To (myArray.Length - 1) 'Do work Next@H_502_1@请记住,在VB.NET中,您还可以使用For Each语句遍历数组元素,许多人发现这些元素更具可读性.例如:
For Each i As Integer In myArray 'Do work Next