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 linhaAcesse elementos usando dois índices [linha][coluna]:
grid[1][2] = 42; // Assign value
int value = grid[0][3]; // Read valueOs í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.
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