2D Arrays Basics
Parte da seção Lógica & Fluxo do Journey de C# da Coddy — lição 1 de 66.
Em C#, um array denteado (jagged array) é um array de arrays, formando uma grade ou uma estrutura semelhante a uma matriz. É como uma tabela com linhas e colunas, onde cada célula pode conter um valor. Arrays denteados são úteis para representar dados que possuem uma relação bidimensional, como um tabuleiro de xadrez, um mapa de assentos ou um jogo baseado em grade.
Veja como declarar e inicializar um array denteado (jagged array) em C#:
data_type[][] arrayName = new dataType[numberOfRows][];dataType: O tipo de elementos que o array conterá (ex: int, string, etc.).
arrayName: O nome que você dá ao array.
numberOfRows: O número de linhas no array.
Cada linha deve então ser inicializada separadamente:
arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// e assim por diante...Por exemplo, para criar um array denteado de inteiros com 3 linhas, onde cada linha tem 4 colunas, você escreveria:
int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];Você também pode inicializar um array denteado (jagged array) com valores diretamente:
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Observação: Esta plataforma usa um compilador anterior ao C# 12. A sintaxe de expressão de coleção mais curta introduzida no C# 12 (ex: int[][] matrix = [[1, 2], [3, 4]];) não é suportada aqui. Por favor, use a sintaxe de inicialização tradicional new int[][] { ... } mostrada acima.
Desafio
FácilInicialize um array denteado (jagged array) com os seguintes valores:
5, 7, 10, 24, 41
86, 13, 683, 64, 13
42, 46, 791, 111, 9
86, 88, 1845, 5, 15897
9, 1, 5, 5, 6Sua tarefa é inicializar corretamente o array denteado com esses valores exatos e garantir que o programa imprima a matriz corretamente.
Nota: Esta plataforma utiliza um compilador anterior ao C# 12. A sintaxe de expressão de coleção do C# 12 (por exemplo, int[][] matrix = [[1, 2], [3, 4]];) não é suportada. Use a sintaxe de inicialização tradicional em vez disso:int[][] matrix = new int[][] { new int[] {1, 2}, new int[] {3, 4} };
Experimente você mesmo
using System;
class Program
{
static void Main(string[] args)
{
int[][] matrix = {
// Escreva seu código aqui
};
// Imprima a matriz
int rows = matrix.Length;
for (int i = 0; i < rows; i++)
{
int cols = matrix[i].Length;
for (int j = 0; j < cols; j++)
{
Console.Write(matrix[i][j] + " ");
}
Console.WriteLine();
}
}
}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
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety