为什么我的 VB.NET 数组有额外的值?
Why does my VB.NET array have extra values?
我声明我的数组
Dim A(N) As Integer
当我从 1 To N
或 0 To N-1
循环时,一端或另一端有一个额外的值。
怎么回事?
(旨在成为规范 question/answer。)
在 VB.NET 中,数组几乎总是*具有 0
的下限,并在声明时提及其上限,而不是长度。
他们确实在早期更改了 VB.NET 语法,以便您在需要时提醒自己:
Dim A(0 To N) As Integer
0
不能是其他任何东西(例如 1
或常量零)。
您可以使用
遍历所有 VB.NET 个数组索引
For i = LBound(A) To UBound(A)
或者,更简单地说,
For i = 0 To N
(*) 您可以使用 .NET Framework 创建具有其他下限的数组,但您需要将它们称为 Array
并因此使用后期绑定(可能 Option Strict Off
) .
我声明我的数组
Dim A(N) As Integer
当我从 1 To N
或 0 To N-1
循环时,一端或另一端有一个额外的值。
怎么回事?
(旨在成为规范 question/answer。)
在 VB.NET 中,数组几乎总是*具有 0
的下限,并在声明时提及其上限,而不是长度。
他们确实在早期更改了 VB.NET 语法,以便您在需要时提醒自己:
Dim A(0 To N) As Integer
0
不能是其他任何东西(例如 1
或常量零)。
您可以使用
遍历所有 VB.NET 个数组索引For i = LBound(A) To UBound(A)
或者,更简单地说,
For i = 0 To N
(*) 您可以使用 .NET Framework 创建具有其他下限的数组,但您需要将它们称为 Array
并因此使用后期绑定(可能 Option Strict Off
) .