Information.UBound(Array, Int32) Método

Definición

Devuelve el subíndice más alto disponible para la dimensión indicada de una 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 cualquier tipo de datos. Matriz en la que desea encontrar el subíndice más alto posible de una dimensión.

Rank
Int32

Optional. Integer. Dimensión para la que se va a devolver el subíndice más alto posible. Use 1 para la primera dimensión, 2 para la segunda y así sucesivamente. Si Rank se omite, se supone que es 1.

Devoluciones

Integer. El valor más alto que puede contener el subíndice de la dimensión especificada. Si Array solo tiene un elemento, UBound devuelve 0. Si Array no tiene elementos, por ejemplo, si es una cadena de longitud cero, UBound devuelve -1.

Excepciones

Array es Nothing.

Rank es menor que 1 o Rank es mayor que la clasificación de Array.

Ejemplos

En el ejemplo siguiente se usa la UBound función para determinar el subíndice más alto disponible para la dimensión indicada de una 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.

Comentarios

Dado que los subíndices de matriz comienzan en 0, la longitud de una dimensión es mayor que el subíndice más alto disponible para esa dimensión.

Para una matriz con las siguientes dimensiones, UBound devuelve los valores de la tabla siguiente:

Dim a(100, 5, 4) As Byte
Llamada a UBound Valor devuelto
UBound(a, 1) 100
UBound(a, 2) 5
UBound(a, 3) 4

Puede usar UBound para determinar el número total de elementos de una matriz, pero debe ajustar el valor que devuelve para tener en cuenta el hecho de que los subíndices comienzan en 0. En el ejemplo siguiente se calcula el tamaño total de la matriz a en el ejemplo anterior:

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

El valor calculado para total es 3030, que es 101 * 6 * 5.

Se aplica a

Consulte también