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

Obrigatórios. 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

Opcional. Integer. A dimensão para a qual o subscrito mais alto possível deve ser retornado. Use 1 para a primeira dimensão, 2 para a segunda e assim por diante. Se Rank for omitido, 1 será pressuposto.

Retornos

Integer. O valor mais alto da subscrição que 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 tamanho 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 retornado
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 você 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 para total é 3030, que é 101 * 6 * 5.

Aplica-se a

Confira também