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