Information.UBound(Array, Int32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.