Contenido del Curso
Conceptos básicos de C#
Conceptos básicos de C#
Arreglos Multidimensionales
Los arrays también pueden contener otros arrays en su interior. Estos arrays se denominan arrays multidimensionales. Son útiles cuando queremos almacenar datos en forma tabular, con filas y columnas, o en forma de matriz.
Podemos declarar un array bidimensional utilizando la siguiente sintaxis:
main
datatype[][] arrayName = new datatype[lengthX, lengthY];
El array creado con la sintaxis anterior tendrá una longitud (tamaño) igual a lengthX
y cada elemento será un array de tamaño lengthY
:
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 utilizando la siguiente sintaxis:
main
datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
Considere el ejemplo con valores reales:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; // Displaying the array foreach (int number in numbers) { Console.Write(number + " "); } } } }
Lo anterior es una matriz de 3x4 y puede almacenar 12 elementos. La siguiente ilustración muestra una matriz de 3x3 en forma visualizada:
La indexación en los arreglos multidimensionales es similar a la de los arreglos normales. Simplemente se menciona el índice de la fila y el índice de la columna.
main
arrayName[row, column];
Por ejemplo, si se desea acceder al valor 6
del arreglo numbers
(mostrado en la ilustración), se debe acceder a la segunda fila y la tercera columna:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; Console.WriteLine(numbers[1, 2]); // Output: 7 } } }
También es posible utilizar arreglos de dimensiones superiores agregando 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 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!