C# Academy · Lección

Arrays multidimensionales

Matrices y arrays dentados

Lección 4 de 413 pasos

Arrays multidimensionales es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 4 lecciones en total.

Más allá de una sola fila

Hasta ahora, los arrays eran una sola línea de valores. Un array multidimensional almacena valores en una cuadrícula, como una hoja de cálculo con filas y columnas.

Son ideales para tableros de juegos, tablas y matrices.

Declarar un array bidimensional

Un array bidimensional utiliza una coma dentro de los corchetes: [,]. Debe indicar dos tamaños: el número de filas y el número de columnas.

Esta cuadrícula tiene 2 filas y 3 columnas, por lo que contiene 6 valores.

int[,] grid = new int[2, 3];
Console.WriteLine(grid[0, 0]); // 0

Acceder a las celdas

Para leer o escribir una celda, indique los índices de la fila y de la columna, separados por una coma.

Ambos índices empiezan en cero, igual que en los arrays unidimensionales.

int[,] grid = new int[2, 3];
grid[0, 1] = 7;
grid[1, 2] = 9;
Console.WriteLine(grid[1, 2]); // 9

Inicializar una cuadrícula

Puede rellenar un array bidimensional al crearlo mediante llaves anidadas. Cada grupo interno corresponde a una fila.

Todas las filas deben tener el mismo número de columnas.

int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid[1, 0]); // 4

El método GetLength

Con dos dimensiones, Length proporciona el número total de celdas. Para obtener el tamaño de una dimensión, use GetLength.

GetLength(0) es el número de filas y GetLength(1) es el número de columnas.

int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid.Length);        // 6
Console.WriteLine(grid.GetLength(0));  // 2
Console.WriteLine(grid.GetLength(1));  // 3

Recorrer una cuadrícula

Para visitar cada celda, use un bucle para las filas dentro de otro bucle para las columnas. El bucle externo selecciona una fila y el interno recorre sus columnas.

Use GetLength para que los bucles coincidan con el tamaño real.

int[,] grid = { { 1, 2 }, { 3, 4 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
    for (int c = 0; c < grid.GetLength(1); c++)
    {
        Console.WriteLine(grid[r, c]);
    }
}

Un programa completo con una cuadrícula

Este programa completo crea una cuadrícula pequeña y después imprime cada valor junto con su fila y columna.

Ejecútelo para ver las cuatro celdas enumeradas.

int[,] grid = { { 10, 20 }, { 30, 40 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
    for (int c = 0; c < grid.GetLength(1); c++)
    {
        Console.WriteLine("[" + r + "," + c + "] = " + grid[r, c]);
    }
}

Tres dimensiones

Puede añadir más dimensiones mediante más comas. Un array tridimensional utiliza [,,] y tres tamaños.

Considérelo como una pila de cuadrículas. Son menos habituales, pero siguen las mismas reglas.

int[,,] cube = new int[2, 2, 2];
cube[1, 1, 1] = 5;
Console.WriteLine(cube[1, 1, 1]); // 5

Arrays escalonados

Un array escalonado es un array de arrays, escrito como [][]. A diferencia de una cuadrícula rectangular, cada fila puede tener una longitud diferente.

Se accede a él mediante dos pares de corchetes independientes.

int[][] jagged = new int[2][];
jagged[0] = new int[] { 1, 2 };
jagged[1] = new int[] { 3, 4, 5 };
Console.WriteLine(jagged[1][2]); // 5

Rectangular frente a escalonado

Un array rectangular [,] siempre tiene filas de la misma longitud y almacena los datos de forma compacta. Un array escalonado [][] permite longitudes de fila diferentes.

Elija un array rectangular para tablas reales y uno escalonado cuando las filas varíen naturalmente de tamaño.

int[][] rows = { new[] { 1 }, new[] { 2, 3, 4 } };
Console.WriteLine(rows[0].Length); // 1
Console.WriteLine(rows[1].Length); // 3

Sumar una cuadrícula

Puede sumar todos los valores de una cuadrícula añadiendo cada celda dentro de bucles anidados.

Este patrón se adapta a cualquier número de filas y columnas.

int[,] grid = { { 1, 2 }, { 3, 4 } };
int total = 0;
foreach (int v in grid)
{
    total += v;
}
Console.WriteLine(total); // 10

Comprobación rápida

Compruebe cuánto sabe sobre los arrays multidimensionales.

Resumen

Ha aprendido a crear cuadrículas con [,], acceder a las celdas mediante índices de fila y columna y medirlas con GetLength.

Los bucles anidados visitan cada celda, las comas adicionales añaden dimensiones y los arrays escalonados [][] permiten filas de distintas longitudes. Ahora puede almacenar y procesar tablas de datos en C#.

Gratis para empezar

Aprende C# con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
93
Lecciones
346

Preguntas frecuentes

¿La lección «Arrays multidimensionales» es gratis?

Sí — el texto completo de «Arrays multidimensionales» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Arrays multidimensionales»?

Matrices y arrays dentados Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C# Academy?

No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Arrays multidimensionales»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C# Academy?

Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Declarar arrays
  2. Indexación y longitud
  3. Recorrer arrays
  4. Arrays multidimensionales
← Volver a C# Academy