需要帮助理解这个功能

问题描述 投票:-1回答:1
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,这类问题出现在我的考试中,而且我遇到了一些问题让我解决这个问题。

非常感激

arrays vb.net bounds computation reflex
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.