UBound (Función, Visual Basic)

Actualización: noviembre 2007

Devuelve el mayor subíndice disponible para la dimensión indicada de una matriz.

Public Function UBound( _
   ByVal Array As System.Array, _ 
   Optional ByVal Rank As Integer = 1 _
) As Integer

Parámetros

  • Array
    Requerido. Matriz de cualquier tipo de datos. La matriz en la que desea buscar el mayor subíndice posible de una dimensión.

  • Rank
    Opcional. Integer. Dimensión para la que se va a devolver el mayor subíndice posible. Utilice 1 para la primera dimensión, 2 para la segunda y así sucesivamente. Si se omite Rank, se supone 1.

Valor devuelto

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

Excepciones

Tipo de excepción

Número de error

Condición

ArgumentNullException

ArrayesNothing

RankException

Rank es menor que 1 o Rank es mayor que el rango de Array.

Consulte la columna "Número de error" si está actualizando aplicaciones de Visual Basic 6.0 que utilizan el control de errores no estructurado. (Se puede comparar el número de error con respecto a Number (Propiedad, objeto Err)). Sin embargo, siempre que sea posible, se debe considerar la sustitución de dicho control de errores por Información general sobre el control estructurado de excepciones de Visual Basic.

Comentarios

Puesto que los subíndices de matriz empiezan en 0, la longitud de una dimensión es mayor en una unidad que el mayor índice disponible para esa dimensión.

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

Dim a(100, 5, 4) As Byte

Llamada a UBound

Valor devuelto

UBound(a, 1)

UBound(a, 2)

UBound(a, 3)

Se puede utilizar UBound para determinar el número total de elementos de una matriz, aunque se debe ajustar el valor devuelto puesto que el subíndice empieza en 0. En el ejemplo siguiente se calcula el tamaño total de la matriz a del 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.

Ejemplo

En el ejemplo siguiente se utiliza la función UBound para determinar el mayor subíndice 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.

Requisitos

Espacio de nombres:Microsoft.VisualBasic

Módulo: Information

**Ensamblado:**Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)

Vea también

Referencia

LBound (Función, Visual Basic)

Instrucción Dim (Visual Basic)

Instrucción ReDim (Visual Basic)

ArgumentException

RankException