Accessing 2D Array Elements
Parte de la sección Lógica y Flujo del Journey de C# de Coddy — lección 3 de 66.
El acceso a elementos en un array 2D utiliza una sintaxis similar a la de los arrays regulares, pero requiere dos índices: uno para la fila y uno para la columna.
Nota: En C#, hay dos tipos de arrays multidimensionales: arrays rectangulares (int[,]) y arrays jagged (int[][]). Esta lección cubre arrays jagged, donde cada fila es su propio array.
Crea un arreglo irregular con 3 filas y 4 columnas:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Asigna un valor a una posición específica (índice de fila 1, índice de columna 2):
grid[1][2] = 42;Leer un valor de una posición específica (índice de fila 0, índice de columna 3):
int value = grid[0][3];Dado que los índices comienzan en 0, índice de fila 0 es la 1.ª fila y índice de columna 3 es la 4.ª columna.
Recuerda que los índices de los arrays comienzan en 0, por lo que los rangos de índices válidos son:
- Filas: índice 0 a 2 (para un array de 3 filas — la 1ª fila es índice 0, la 2ª es índice 1, la 3ª es índice 2)
- Columnas: índice 0 a 3 (para un array de 4 columnas — la 1ª columna es índice 0, la 2ª es índice 1, y así sucesivamente)
grid[3][2]), obtendrás un IndexOutOfRangeException.Desafío
IntermedioEscribe un método llamado getElement que tome tres argumentos:
- Un array de enteros 2D (
int[][] matrix) - Un índice de fila (
int row) - Un índice de columna (
int col)
El método debe devolver el elemento en la posición especificada si los índices son válidos. Si algún índice está fuera de rango, el método debe devolver -1.
Hoja de referencia
Accede a los elementos en un array 2D usando dos índices: [row][column]
Crea un array 2D:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Asigna un valor:
grid[1][2] = 42;Lee un valor:
int value = grid[0][3];Los índices del array comienzan en 0. Acceder a elementos fuera de los rangos válidos lanza una IndexOutOfRangeException.
Pruébalo tú mismo
public class GetElement
{
public static int getElement(int[][] array, int row, int col)
{
// Escribe tu código aquí
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
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