Menu
Coddy logo textTech

Declaring and Initializing 2D

Parte da seção Lógica & Fluxo do Journey de C# da Coddy — lição 2 de 66.

Um array 2D em C# pode ser criado usando arrays irregulares, que são arrays de arrays, permitindo que você armazene dados em uma estrutura semelhante a uma grade.

Para criar um array irregular de inteiros com 3 linhas e 4 colunas:

int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];

O código acima cria um array 2D que se parece com isto (todos os elementos inicializados com 0):

[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]

Inicialize um array irregular com valores:

int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};

Isso cria um array 2D com 2 linhas e 3 colunas, contendo os valores:

[1, 2, 3]
[4, 5, 6]

Para obter o número de linhas e colunas:

int rows = matrix.Length;           // Returns 2
int columns = matrix[0].Length;     // Returns 3 (for the first row)

Acessar elementos em um array 2D requer dois índices: um para a linha e um para a coluna.

Atribua um valor a uma posição específica (linha 1, coluna 2):

grid[1][2] = 42;

Leia um valor de uma posição específica (linha 0, coluna 3):

int value = grid[0][3];

Lembre-se de que os índices de array começam em 0, então as faixas válidas são:

  • Linhas: 0 a 2 (para um array de 3 linhas)
  • Colunas: 0 a 3 (para um array de 4 colunas)

Se você tentar acessar um elemento fora desses intervalos (como grid[3][2]), você receberá uma IndexOutOfRangeException.

Folha de consulta

Crie um array irregular (array 2D) em C#:

int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];

Inicialize com valores:

int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};

Obtenha as dimensões:

int rows = matrix.Length;           // Número de linhas
int columns = matrix[0].Length;     // Número de colunas na primeira linha

Acesse elementos usando dois índices [linha][coluna]:

grid[1][2] = 42;        // Assign value
int value = grid[0][3]; // Read value

Os índices do array começam em 0. Acessar índices fora do intervalo gera IndexOutOfRangeException.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo