Curso de VisualBasic.NET.

Inicializar.

Los arrays de una dimensión no son muy frecuentes en programación. Lo más frecuente es encontrar arrays de dos dimensiones o de más dimensiones.

Para inicializar un array dimensional, hay que utilizar el signo (,) y declarar el tipo de dato que va a contener como se ha hecho hasta ahora.

Crear un array multidimensional

Esta forma de declararlo especifica la dimensión del array, simplemente indica que estamos declarando un array bidimensional. Para establecer la dimensión utilizamos el método ReDim y entre paréntesis el número de filas y el número de columnas del array. En este caso creo un array de 2 dimensiones de una fila y dos columnas.

Redefine para crear la estructura del array multidimensional

En este momento hemos creado el array bidimensional vacio. Si lo mostraramos nos devolvería una estructura vacía de array.

Para recorrer un array bidimensional, tienes que recorrer cada elemento del array igual que hacíamos en la parte teórica del curso, pero esta vez para cada dimensión. Por lo tanto si tenemos dos dimensiones, tendremos que usar dos bucles for, y por tanto declarar dos variables para los bucles.

variables para recorrer el array

Y también al no tener una longitud única, tenemos que usar el metodo GetUpperBound() para poder recorrer el array dimensional.

Bucle para recorrer el primer elemento del array

Pero claro, como es un elemento bidimensional, solo está recorriendo la primera parte del array, es decir la primera columna. Si ejecutaramos ahora el programa nos devolvería una pantalla vacía, primero porque no hemos declarado ningún valor para el array, y segundo porque solo hemos llamado a una parte del array.

llamada vacia del array

Observa que ahora como tenemos que llamar a dos dimensiones es necesario establecer el valor de las dos dimensiones al final del Console.WriteLine(). Pero como además nos falta por llamar a la segunda dimensión, tenemos que anidar otro bucle for para poder conseguir los valores totales.

recorrer el array bidimensional

Como puedes ver devuelve todos los valores en cero, porque el array está vacio. Puedes agregarle valor al array y repetir la operación anterior para que te devuelva los valores del mismo. Para agregar valores y teniendo en cuenta un array bidimensional tienes que aagregar valores a las filas y las columnas de manera que como ahora tiene un valor específico, no hace falta redimensionar el array con ReDim y lo podemos quitar (si no lo quitaramos nos devolvería cero).

recorrer el array bidimensional

Redimensionar el array.

Los arrays multidimensionales también se pueden redimensionar usando ReDim o Preserve. Si utilizamos ReDim, podemos cambiar el valor de cualquiera de las dimensiónes, aunque de esta forma perderíamos los datos que contuviese el array. Con Preserve, solo podríamos cambiar la última dimensión del array, es decir la más cercana a la derecha en la declaración.

Otra cosa que tampoco podemos hacer con ReDim es cambiar el número de dimensiones de un array ni siquiera si lo eliminamos previamente con Erase.

redimensiona y añade contenido al array bidimensional

Añadir contenido al array

También podemos añadir contenido al array de manera automática asignandole un valor y después mostrando dicho valor. Podemos asignar a todo el conjunto el valor deseado si después de llamar a los bucles les asignamos i=1, como ves en la imagen siguiente:

asignar contenido automáticamente al array

Si queremos que en lugar de 1, tenga un valor diferente, podemos asignar operadores a la variable i de la forma i += 1 para que cada valor siguiente sea un número superior al anterior.