Conteúdo do Curso
Noções Básicas de C#
Noções Básicas de C#
Arrays Multidimensionais
Arrays também podem ter arrays adicionais dentro deles. Esses arrays são chamados de Arrays Multidimensionais. Eles são úteis quando queremos armazenar os dados em uma forma tabular, com linhas e colunas, ou na forma de uma matriz.
Podemos declarar um array bidimensional usando a seguinte sintaxe:
main
datatype[][] arrayName = new datatype[lengthX, lengthY];
O array criado usando a sintaxe acima terá o comprimento (tamanho) igual a lengthX
e cada elemento será um array de tamanho lengthY
. Por exemplo:
main
int[,] numbers = new int[3,3];
No caso acima, criamos uma nova matriz bidimensional de tamanho 3x3. Isso significa que ela pode conter 9
números inteiros. Podemos inicializar um array 2D usando a seguinte sintaxe:
main
datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
Por exemplo:
main
int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
Acima está uma matriz 3x4 e ela pode armazenar 12 elementos. A ilustração a seguir mostra uma matriz 3x3 em forma visualizada:
Indexação em arrays multidimensionais é semelhante aos arrays normais. Nós simplesmente mencionamos o índice da linha e da coluna.
main
arrayName[row, column];
Por exemplo, se quisermos acessar 6
do array numbers
(mostrado na ilustração), acessaremos a 2ª linha e a 3ª coluna:
main
Console.WriteLine(numbers[1, 2]); // Output: 6
Arrays de dimensões superiores também são possíveis adicionando vírgulas extras à sintaxe de declaração:
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
No código acima, myArray3D
terá 60
elementos (3x4x5), enquanto myArray4D
terá 1800
elementos (5x4x9x10).
A seguir está como você inicializaria um array 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} } };
Obrigado pelo seu feedback!