Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Arrays Multidimensionais | Arrays
Noções Básicas de C#
course content

Conteúdo do Curso

Noções Básicas de C#

Noções Básicas de C#

1. Começando
2. Lidando com Tipos de Dados
3. Estruturas de Controle
4. Loops
5. Arrays
6. Métodos

book
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:

cs

main

copy
1
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:

cs

main

copy
1
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:

cs

main

copy
12345
datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };

Consider the example with real values:

cs

main

copy
12345678910111213141516171819202122
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.

cs

main

copy
1
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:

cs

main

copy
123456789101112131415161718
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:

cs

main

copy
123
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:

cs

main

copy
123456
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} } };
What is the correct code for accessing "Pumpkin" element from the `foods` array:

What is the correct code for accessing "Pumpkin" element from the foods array:

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 5
We're sorry to hear that something went wrong. What happened?
some-alt