Matrices escalonadas en Visual Basic

Actualización: noviembre 2007

Una matriz de la que cada elemento es una matriz se llama una matriz de matrices o una matriz escalonada. Observe que tener matrices como elementos no es lo mismo que una matriz multidimensional que tiene más de un índice en una única matriz.

Significado de escalonado

En algunas ocasiones, la estructura de datos de la aplicación es bidimensional pero no rectangular. Por ejemplo, puede tener una matriz de meses, siendo cada elemento a su vez una matriz de días. Puesto que los distintos meses tienen un número distinto de días, los elementos no forman una matriz bidimensional rectangular. En este caso, puede utilizar una matriz escalonada en lugar de una matriz multidimensional.

Ejemplo

El ejemplo siguiente declara una variable de matriz para que contenga una matriz de matrices con elementos de Double (Tipo de datos, Visual Basic). Cada elemento de la matriz sales es una matriz que representa un mes. Cada matriz de meses contiene valores para cada día de ese mes.

Dim sales()() As Double = New Double(11)() {}
Dim month As Integer
Dim days As Integer
For month = 0 To 11 
    days = DateTime.DaysInMonth(Year(Now), month + 1)
    sales(month) = New Double(days - 1) {}
Next month

La cláusula New de la declaración sales establece la variable de matriz en un matriz de 12 elementos, cada uno de los cuales es de tipo Double(), una matriz de elementos Double. El bucle For determina cuántos días tiene cada mes este año (Year(Now)) y establece el elemento correspondiente de sales en una matriz Double del tamaño adecuado.

En el ejemplo anterior, la matriz escalonada guarda siete elementos (seis en un año bisiesto) en comparación con una matriz bidimensional. En un caso más extremo, el ahorro de memoria podría ser significativo.

Vea también

Tareas

Cómo: Declarar una variable de matriz

Cómo: Crear una matriz de matrices

Cómo: Inicializar una matriz escalonada

Solucionar problemas de matrices

Conceptos

Información general sobre matrices en Visual Basic

Dimensiones de matrices en Visual Basic

Matrices multidimensionales en Visual Basic

Tipos de datos de matrices en Visual Basic

Escribir código conforme con CLS

Otros recursos

Matrices en Visual Basic