O que é UBound e LBound no Visual Basic?

Use as funções UBound e LBound para determinar o tamanho de uma matriz.

Definição

A função UBound retorna o valor do maior subscrito disponível para a dimensão indicada de uma matriz. A função LBound faz o oposto, uma vez que retorna o menor subscrito disponível para a dimensão indicada de uma matriz. O valor de retorno de ambas as funções é um dado do tipo inteiro. Se a matriz tiver apenas um elemento, o UBound retornará 0. A função LBound sempre retornará 0, desde que a matriz tenha sido inicializada, mesmo que não tenha elementos.

Dimensões dos arranjos

Quando um array usa um índice, diz-se que é unidimensional. Um array multidimensional usa mais de um índice ou subscrito. Você também pode declarar os chamados arranjos de arranjos ou arranjos irregulares. Estes podem ser unidimensionais ou multidimensionais, bem como os elementos definidos. Por exemplo, se você declarar uma matriz bidimensional de meses, um subscrito representa meses e os outros dias. Os meses têm um número diferente de dias, portanto seus elementos não formarão um arranjo retangular bidimensional. Em VB, o array seria declarado como mostrado abaixo:

Meses escurosArray (11, 30) As String

Determinação da dimensão máxima

Os subscritos começam em 0 para cada arranjo e o máximo é definido pelo número que você escreve na matriz para cada índice. Você pode declarar uma matriz multidimensional do tipo Byte usando a seguinte sintaxe:

Dim a (200, 10, 2) como byte

Você pode obter o comprimento da matriz para cada subscrito usando a função UBound. A sintaxe "Ubound (a, 1)" [sem aspas] retorna um valor de "200". Altere a posição do subscrito para "2" e o resultado será "10". Para obter o tamanho do terceiro subscrito, altere a posição para "3".

Determinação da dimensão mínima

Em arrays, os subscritos sempre começam em 0, portanto, o menor subscrito disponível para cada dimensão é sempre 0. Declare o próximo array do tipo Byte e use a função LBound para obter o menor subscrito disponível:

Dim a (200, 10, 2) como byte

Para determinar o menor valor do primeiro subscrito, use a sintaxe (LBound (a, 1) "[sem as aspas] para obter 0. Como resultado, altere o índice para" 2 "e a função também retornará" 0 ". altere o subscrito para "3" e o valor retornado permanecerá "0".