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 |
---|---|---|
ArrayesNothing |
||
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)