Menu
Coddy logo textTech

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 fila

Acceder a elementos usando dos índices [fila][columna]:

grid[1][2] = 42;        // Assign value
int value = grid[0][3]; // Read value

Los í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.

quiz iconPonte a prueba

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