C# Academy · Aula

Vetores multidimensionais

Grades e vetores irregulares.

Aula 4 de 413 etapas

Vetores multidimensionais é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 4 aulas no total.

Além de um único row

Até agora, os vetores eram uma única linha de valores. Um vetor multidimensional armazena valores em uma grade, como uma planilha com linhas e colunas.

Eles são ótimos para tabuleiros de jogos, tabelas e matrizes.

Declarando um vetor bidimensional

Um vetor bidimensional usa uma vírgula dentro dos colchetes: [,]. Você fornece dois tamanhos: o número de linhas e o número de colunas.

Essa grade tem 2 linhas e 3 colunas, portanto contém 6 valores.

int[,] grid = new int[2, 3];
Console.WriteLine(grid[0, 0]); // 0

Acessando células

Para ler ou gravar uma célula, forneça os índices da row e da coluna, separados por uma vírgula.

Ambos os índices são baseados em zero, assim como nos vetores unidimensionais.

int[,] grid = new int[2, 3];
grid[0, 1] = 7;
grid[1, 2] = 9;
Console.WriteLine(grid[1, 2]); // 9

Inicializando uma grade

Você pode preencher um vetor bidimensional no momento da criação usando chaves aninhadas. Cada grupo interno representa uma row.

Todas as linhas devem ter o mesmo número de colunas.

int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid[1, 0]); // 4

O método GetLength

Com duas dimensões, Length fornece o número total de células. Para obter o tamanho de uma dimensão, use GetLength.

GetLength(0) é o número de linhas, e GetLength(1) é o número de colunas.

int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid.Length);        // 6
Console.WriteLine(grid.GetLength(0));  // 2
Console.WriteLine(grid.GetLength(1));  // 3

Percorrendo uma grade

Para visitar todas as células, use um laço para as linhas dentro de outro para as colunas. O laço externo escolhe uma row, e o interno percorre suas colunas.

Use GetLength para que os laços correspondam ao tamanho real.

int[,] grid = { { 1, 2 }, { 3, 4 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
    for (int c = 0; c < grid.GetLength(1); c++)
    {
        Console.WriteLine(grid[r, c]);
    }
}

Um programa completo com grade

Este programa completo cria uma pequena grade e depois imprime cada valor com sua row e sua coluna.

Execute-o para ver as quatro células listadas.

int[,] grid = { { 10, 20 }, { 30, 40 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
    for (int c = 0; c < grid.GetLength(1); c++)
    {
        Console.WriteLine("[" + r + "," + c + "] = " + grid[r, c]);
    }
}

Três dimensões

Você pode adicionar mais dimensões usando mais vírgulas. Um vetor tridimensional usa [,,] e três tamanhos.

Pense nele como uma pilha de grades. Esses vetores são menos comuns, mas seguem as mesmas regras.

int[,,] cube = new int[2, 2, 2];
cube[1, 1, 1] = 5;
Console.WriteLine(cube[1, 1, 1]); // 5

Vetores irregulares

Um vetor irregular é um vetor de vetores, escrito como [][]. Diferentemente de uma grade retangular, cada linha pode ter um comprimento diferente.

Você o acessa com dois pares separados de colchetes.

int[][] jagged = new int[2][];
jagged[0] = new int[] { 1, 2 };
jagged[1] = new int[] { 3, 4, 5 };
Console.WriteLine(jagged[1][2]); // 5

Retangular versus irregular

Um vetor retangular [,] sempre tem linhas de comprimentos iguais e armazena os dados de forma compacta. Um vetor irregular [][] permite linhas de comprimentos diferentes.

Escolha o formato retangular para tabelas verdadeiras e o irregular quando as linhas variarem naturalmente de tamanho.

int[][] rows = { new[] { 1 }, new[] { 2, 3, 4 } };
Console.WriteLine(rows[0].Length); // 1
Console.WriteLine(rows[1].Length); // 3

Somando uma grade

Você pode totalizar todos os valores de uma grade adicionando cada célula dentro de laços aninhados.

Esse padrão se adapta a qualquer número de linhas e colunas.

int[,] grid = { { 1, 2 }, { 3, 4 } };
int total = 0;
foreach (int v in grid)
{
    total += v;
}
Console.WriteLine(total); // 10

Verificação rápida

Teste seus conhecimentos sobre vetores multidimensionais.

Recapitulação

Você aprendeu a criar grades com [,], acessar células com índices de row e coluna e medir suas dimensões com GetLength.

Laços aninhados visitam todas as células, vírgulas adicionais acrescentam dimensões e vetores irregulares [][] permitem linhas de comprimentos diferentes. Agora você pode armazenar e processar tabelas de dados em C#.

Grátis para começar

Aprenda C# com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
93
Aulas
346

Perguntas Frequentes

A aula “Vetores multidimensionais” é grátis?

Sim — o texto completo de “Vetores multidimensionais” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 4 aulas no total.

O que vou aprender em “Vetores multidimensionais”?

Grades e vetores irregulares. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C# Academy?

Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Vetores multidimensionais”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C# Academy?

Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Declarando vetores
  2. Indexação e tamanho
  3. Percorrendo vetores
  4. Vetores multidimensionais
← Voltar para C# Academy