Declaring and Initializing 2D
Parte de la sección Lógica y Flujo del Journey de C# de Coddy — lección 2 de 66.
Un array 2D en C# se puede crear usando arrays jagged, que son arrays de arrays, permitiendo almacenar datos en una estructura similar a una cuadrícula.
Para crear un array irregular de enteros 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];El código anterior crea un array 2D que se ve así (todos los elementos inicializados a 0):
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]Inicializa un arreglo irregular con valores:
int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};Esto crea un array 2D con 2 filas y 3 columnas, que contiene los valores:
[1, 2, 3]
[4, 5, 6]Para obtener el número de filas y columnas:
int rows = matrix.Length; // Returns 2
int columns = matrix[0].Length; // Returns 3 (for the first row)Acceder a elementos en un array 2D requiere dos índices: uno para la fila y uno para la columna.
Asigna un valor a una posición específica (fila 1, columna 2):
grid[1][2] = 42;Leer un valor de una posición específica (fila 0, columna 3):
int value = grid[0][3];Recuerda que los índices de los arreglos comienzan en 0, por lo que los rangos válidos son:
- Filas: 0 a 2 (para un arreglo de 3 filas)
- Columnas: 0 a 3 (para un arreglo de 4 columnas)
Si intentas acceder a un elemento fuera de estos rangos (como grid[3][2]), obtendrás un IndexOutOfRangeException.
Hoja de referencia
Crear un arreglo irregular (arreglo 2D) en C#:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Inicializar con valores:
int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};Obtener dimensiones:
int rows = matrix.Length; // Número de filas
int columns = matrix[0].Length; // Número de columnas en la primera filaAcceder a elementos usando dos índices [fila][columna]:
grid[1][2] = 42; // Assign value
int value = grid[0][3]; // Read valueLos índices de los arreglos comienzan en 0. Acceder a índices fuera de rango lanza IndexOutOfRangeException.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
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