Vetores multidimensionais
Grades e vetores irregulares.
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]); // 0Acessando 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]); // 9Inicializando 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]); // 4O 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)); // 3Percorrendo 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]); // 5Vetores 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]); // 5Retangular 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); // 3Somando 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); // 10Verificaçã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#.
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
- Declarando vetores
- Indexação e tamanho
- Percorrendo vetores
- Vetores multidimensionais