Contenido del Curso
Conceptos básicos de C#
Conceptos básicos de C#
Arreglos Multidimensionales
Los arreglos también pueden tener arreglos adicionales dentro de ellos. Estos arreglos se llaman Arreglos Multidimensionales. Son útiles cuando queremos almacenar los datos en una forma tabular, con filas y columnas, o en forma de matriz.
Podemos declarar un arreglo bidimensional usando la siguiente sintaxis:
main
datatype[][] arrayName = new datatype[lengthX, lengthY];
El arreglo creado usando la sintaxis anterior tendrá una longitud (tamaño) igual a lengthX
y cada elemento será un arreglo de tamaño lengthY
. Por ejemplo:
main
int[,] numbers = new int[3,3];
En el caso anterior, creamos una nueva matriz bidimensional de tamaño 3x3. Esto significa que puede contener 9
números enteros. Podemos inicializar un arreglo 2D usando la siguiente sintaxis:
main
datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
Por ejemplo:
main
int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
Lo anterior es una matriz de 3x4 y puede almacenar 12 elementos. La siguiente ilustración muestra una matriz de 3x3 en forma visualizada:
Indexación en matrices multidimensionales es similar a las matrices normales. Simplemente mencionamos el índice de la fila y la columna.
main
arrayName[row, column];
Por ejemplo, si queremos acceder a 6
del array numbers
(mostrado en la ilustración), accederemos a la 2ª fila y la 3ª columna:
main
Console.WriteLine(numbers[1, 2]); // Output: 6
También son posibles los arreglos de dimensiones superiores añadiendo comas adicionales a la sintaxis de declaración:
main
int[,,] myArray3D = new int[3, 4, 5]; int[,,,] myArray4D = new int[5, 4, 9, 10]; // Similarly more complex ones are possible as well using the same pattern
En el código anterior, myArray3D
tendrá 60
elementos (3x4x5), mientras que myArray4D
tendrá 1800
elementos (5x4x9x10).
A continuación se muestra cómo inicializarías un arreglo 3D:
main
int[,,] numbers = { { {1, 2, 3}, { 4, 5, 6 }, {7, 8, 9} }, { {10, 11, 12}, {13, 14, 15}, {16, 17, 18} }, { {19, 20, 21}, {22, 23, 24}, {25, 26, 27} } };
¡Gracias por tus comentarios!