需要帮助了解此功能

时间:2019-03-20 12:12:42

标签: arrays vb.net bounds computation reflex

Dim i as Long, arr(5) As Long

for i = 1 to 6
    arr(i-1) = i-1
next 
console.writeLine(arr(LBound(arr)+5) + arr(UBound(arr)-2))

我理解输出为8,但是有人可以解释为什么输出为8,Lbound和UBound,这种类型的问题出现在我的考试中,我在解决这个问题时遇到了一些问题。

非常感谢

1 个答案:

答案 0 :(得分:2)

UBOUND在VB中表示“上边界”。它返回数组的最后一项(上边界)的序列号。 LBOUND用于下边界或第一项。

由于VB.Net可以更轻松地使用选项来执行相同的操作,因此我最近通常不使用它们。

您的循环将构建此数组

arr(0)=0 
arr(1)=1 
arr(2)=2 
arr(3)=3 
arr(4)=4 
arr(5)=5

现在LBound(arr)返回0,而ubound(arr)返回5。

现在,如果您要设置的数组是

arr(0)=10
arr(1)=11
arr(2)=12
arr(3)=13
arr(4)=14
arr(5)=15

然后LBound(arr)仍返回0,而ubound(arr)返回5。

UBOUND FUNCTION

LBOUND FUNCTION