Information.UBound(Array, Int32) Método

Definición

Devuelve el subíndice más alto que está 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

Obligatorio. Matriz de cualquier tipo de datos. Matriz en la que se desea buscar el subíndice más alto posible de una dimensión.

Rank
Int32

Opcional. Integer. Dimensión para la que se va a devolver el subíndice más alto posible. Utilice 1 para la primera dimensión, 2 para la segunda, etc. Si se omite Rank, se supone que el valor es 1.

Devoluciones

Integer. Valor más alto que el subíndice de la dimensión especificada puede contener. Si Array tiene solo 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 el rango 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 disponible más alto para esa dimensión.

Para una matriz con las dimensiones siguientes, 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