Information.UBound(Array, Int32) Método

Definição

Retorna o subscrito mais alto disponível para a dimensão indicada de uma matriz.

public static int UBound(Array Array, int Rank = 1);
static member UBound : Array * int -> int
Public Function UBound (Array As Array, Optional Rank As Integer = 1) As Integer

Parâmetros

Array
Array

Required. Matriz de qualquer tipo de dados. A matriz na qual você deseja encontrar o subscrito mais alto possível de uma dimensão.

Rank
Int32

Optional. Integer. A dimensão para a qual o subscrito mais alto possível deve ser retornado. Utilize 1 para a primeira dimensão, 2 para a segunda e assim sucessivamente. Se Rank for omitido, 1 será assumido.

Retornos

Integer. O valor mais alto que o subscrito para a dimensão especificada pode conter. Se Array tiver apenas um elemento, UBound retornará 0. Se Array não tiver elementos, por exemplo, se for uma cadeia de caracteres de comprimento zero, UBound retornará -1.

Exceções

Array é Nothing.

Rank é menor que 1 ou Rank é maior que a classificação de Array.

Exemplos

O exemplo a seguir usa a UBound função para determinar o subscrito mais alto disponível para a dimensão indicada de uma matriz.

Dim highest, bigArray(10, 15, 20), littleArray(6) As Integer
highest = UBound(bigArray, 1)
highest = UBound(bigArray, 3)
highest = UBound(littleArray)
' The three calls to UBound return 10, 20, and 6 respectively.

Comentários

Como os subscritos de matriz começam em 0, o comprimento de uma dimensão é maior por um do que o subscrito mais alto disponível para essa dimensão.

Para uma matriz com as seguintes dimensões, UBound retorna os valores na tabela a seguir:

Dim a(100, 5, 4) As Byte
Chamar para UBound Valor de devolução
UBound(a, 1) 100
UBound(a, 2) 5
UBound(a, 3) 4

Você pode usar UBound para determinar o número total de elementos em uma matriz, mas deve ajustar o valor retornado para considerar o fato de que os subscritos começam em 0. O exemplo a seguir calcula o tamanho total da matriz a no exemplo anterior:

Dim total As Integer
total = (UBound(A, 1) + 1) * (UBound(A, 2) + 1) * (UBound(A, 3) + 1)

O valor calculado é total 3030, que é 101 * 6 * 5.

Aplica-se a

Confira também