Compartir a través de


Dimensiones de matriz en Visual Basic

Una dimensión es una dirección en la que puede variar la especificación de los elementos de una matriz. Una matriz que contiene el total de ventas para cada día del mes tiene una dimensión (el día del mes). Una matriz que contiene el total de ventas por departamento para cada día del mes tiene dos dimensiones (el número de departamento y el día del mes). El número de dimensiones que una matriz tiene se denomina rango.

Nota:

Puede usar la Rank propiedad para determinar cuántas dimensiones tiene una matriz.

Trabajar con dimensiones

Para especificar un elemento de una matriz, proporcione un índice o subíndice para cada una de sus dimensiones. Los elementos son contiguos a lo largo de cada dimensión del índice 0 al índice más alto de esa dimensión.

En las ilustraciones siguientes se muestra la estructura conceptual de matrices con rangos diferentes. Cada elemento de las ilustraciones muestra los valores de índice que tienen acceso a él. Por ejemplo, puede acceder al primer elemento de la segunda fila de la matriz bidimensional especificando índices (1, 0).

Diagrama que muestra una matriz unidimensional.

Diagrama que muestra una matriz bidimensional.

Diagrama que muestra una matriz tridimensional.

Una dimensión

Muchas matrices tienen solo una dimensión, como el número de personas de cada edad. El único requisito para especificar un elemento es la antigüedad para la que ese elemento contiene el recuento. Por lo tanto, esta matriz usa solo un índice. En el ejemplo siguiente se declara una variable para contener una matriz unidimensional de recuentos de edades de entre 0 y 120 años.

Dim ageCounts(120) As UInteger

Dos dimensiones

Algunas matrices tienen dos dimensiones, como el número de oficinas en cada planta de cada edificio de un campus. La especificación de un elemento requiere tanto el número de edificio como el piso, y cada elemento contiene el recuento de esa combinación de edificio y piso. Por lo tanto, esta matriz usa dos índices. En el ejemplo siguiente se declara una variable para contener una matriz bidimensional de recuentos de oficinas, para edificios de 0 a 40 y pisos de 0 a 5.

Dim officeCounts(40, 5) As Byte

Una matriz bidimensional también se denomina matriz rectangular.

Tres dimensiones

Algunas matrices tienen tres dimensiones, como los valores en el espacio tridimensional. Esta matriz usa tres índices, que en este caso representan las coordenadas x, y y z del espacio físico. En el ejemplo siguiente se declara una variable para contener una matriz tridimensional de temperaturas del aire en varios puntos de un volumen tridimensional.

Dim airTemperatures(99, 99, 24) As Single

Más de tres dimensiones

Aunque una matriz puede tener hasta 32 dimensiones, es poco frecuente tener más de tres.

Nota:

Al agregar dimensiones a una matriz, el almacenamiento total necesario para la matriz aumenta considerablemente, por lo que se usan matrices multidimensionales con cuidado.

El uso de diferentes dimensiones

Supongamos que desea realizar un seguimiento de los importes de ventas de cada día del mes actual. Puede declarar una matriz unidimensional con 31 elementos, uno para cada día del mes, como se muestra en el ejemplo siguiente.

Dim salesAmounts(30) As Double

Ahora supongamos que desea realizar un seguimiento de la misma información no solo para cada día de un mes, sino también para cada mes del año. Puede declarar una matriz bidimensional con 12 filas (durante los meses) y 31 columnas (para los días), como se muestra en el ejemplo siguiente.

Dim salesAmounts(11, 30) As Double

Ahora suponga que decide que su matriz contenga información para más de un año. Si desea realizar un seguimiento de los importes de ventas durante 5 años, podría declarar una matriz tridimensional con 5 capas, 12 filas y 31 columnas, como se muestra en el ejemplo siguiente.

Dim salesAmounts(4, 11, 30) As Double

Tenga en cuenta que, dado que cada índice varía de 0 a su máximo, cada dimensión de salesAmounts se declara como una menor que la longitud necesaria para esa dimensión. Tenga en cuenta también que el tamaño de la matriz aumenta con cada nueva dimensión. Los tres tamaños de los ejemplos anteriores son 31, 372 y 1860 elementos respectivamente.

Nota:

Puede crear una matriz sin usar la Dim instrucción o la New cláusula . Por ejemplo, puede llamar al método CreateInstance, u otro componente puede pasar a su código una matriz creada de esta manera. Esta matriz puede tener un límite inferior distinto de 0. Siempre puede probar el límite inferior de una dimensión mediante el GetLowerBound método o la LBound función .

Consulte también