Accessing 2D Array Elements
Parte da seção Lógica & Fluxo do Journey de C# da Coddy — lição 3 de 66.
Acessar elementos em um array 2D usa uma sintaxe similar à de arrays regulares, mas requer dois índices: um para a linha e um para a coluna.
Nota: No C#, existem dois tipos de arrays multidimensionais: arrays retangulares (int[,]) e arrays jagged (int[][]). Esta lição cobre arrays jagged, onde cada linha é seu próprio array.
Crie um array irregular 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];Atribua um valor a uma posição específica (índice de linha 1, índice de coluna 2):
grid[1][2] = 42;Leia um valor de uma posição específica (índice de linha 0, índice de coluna 3):
int value = grid[0][3];Como os índices começam em 0, índice de linha 0 é a 1ª linha e índice de coluna 3 é a 4ª coluna.
Lembre-se de que os índices de array começam em 0, então as faixas de índices válidos são:
- Linhas: índice 0 a 2 (para um array de 3 linhas — a 1ª linha é índice 0, a 2ª é índice 1, a 3ª é índice 2)
- Colunas: índice 0 a 3 (para um array de 4 colunas — a 1ª coluna é índice 0, a 2ª é índice 1, e assim por diante)
grid[3][2]), você receberá uma IndexOutOfRangeException.Desafio
MédioEscreva um método chamado getElement que recebe três argumentos:
- Um array 2D de inteiros (
int[][] matrix) - Um índice de linha (
int row) - Um índice de coluna (
int col)
O método deve retornar o elemento na posição especificada se os índices forem válidos. Se algum índice estiver fora do intervalo, o método deve retornar -1.
Folha de consulta
Acesse elementos em um array 2D usando dois índices: [row][column]
Crie um array 2D:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Atribua um valor:
grid[1][2] = 42;Leia um valor:
int value = grid[0][3];Os índices do array começam em 0. Acessar elementos fora dos intervalos válidos gera uma IndexOutOfRangeException.
Experimente você mesmo
public class GetElement
{
public static int getElement(int[][] array, int row, int col)
{
// Escreva seu código aqui
}
}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