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 irregular é um array de arrays, formando uma grade ou estrutura semelhante a uma matriz. É como uma tabela com linhas e colunas, onde cada célula pode conter um valor. Arrays irregulares são úteis para representar dados que têm uma relação bidimensional, como um tabuleiro de xadrez, um mapa de assentos ou um jogo baseado em grade.
Aqui está como declarar e inicializar um array irregular 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];
// and so on...Por exemplo, para criar um array irregular 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 irregular com valores diretamente:
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Desafio
FácilInicialize um array irregular 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 irregular com esses valores exatos e garantir que o programa imprima corretamente a matriz.
Folha de consulta
Um array irregular é um array de arrays, formando uma estrutura semelhante a uma matriz com linhas e colunas.
Sintaxe de declaração:
data_type[][] arrayName = new dataType[numberOfRows][];Cada linha deve ser inicializada separadamente:
arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];Exemplo com inicialização separada:
int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];Inicialização direta com valores:
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Experimente você mesmo
using System;
class Program
{
static void Main(string[] args)
{
int[][] matrix = {
// Escreva seu código aqui
};
// Imprime 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