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, ...}, ... };
Consider the example with real values:
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 + " "); } } } }
The above is a 3x4 matrix and it can store 12 elements. The following illustration shows a 3x3 matrix in a visualized form:
Indexing in multidimensional arrays is similar to the normal arrays. We simply mention the row and the column index.
main
arrayName[row, column];
For example, if we want to access 6
from the numbers
array (shown in the illustration), we will access the 2nd row and the 3rd column:
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 } } }
Higher dimensional arrays are also possible by adding extra commas to the declaration syntax:
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
In the above code myArray3D
will have 60
elements (3x4x5), while myArray4D
will have 1800
elements (5x4x9x10).
Following is how you would initialize a 3D array:
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!