Contenido del Curso
C# Basics
C# Basics
Multi-Dimensional Arrays
Arrays can also have additional arrays inside them. Such arrays are called Multi-Dimensional Arrays. These are useful when we want to store the data in a tabular form, with rows and columns, or in the form of a matrix.
We can declare a two-dimensional array using the following syntax:
main
datatype[][] arrayName = new datatype[lengthX, lengthY];
The array created using the above syntax will have the length (size) equal to lengthX
and each element will be an array of size lengthY
. For-example:
main
int[,] numbers = new int[3,3];
In the above case, we create a new two-dimensional matrix of 3x3 size. It means that it can hold 9
integer numbers. We can initialize a 2D array using the following syntax:
main
datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
For-example:
main
int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
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
Console.WriteLine(numbers[1, 2]); // Output: 6
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 ``myArray4Dwill 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!