Нужна помощь в понимании этой функции - PullRequest
0 голосов
/ 20 марта 2019
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 Ответ

2 голосов
/ 20 марта 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...