Arrays multidimensionales en C#: Arrays 2D explicados con ejemplos de código
Arrays multidimensionales en C#
En este tutorial, exploraremos los arrays multidimensionales de C#, enfocándonos en ejemplos bidimensionales con fragmentos de código claros.
Antes de sumergirte en arrays multidimensionales, repasa los arrays unidimensionales de C#.
En un array multidimensional, cada elemento es en sí mismo un array. Por ejemplo:
int[ ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
Aquí, x es un array bidimensional que contiene las filas {1, 2, 3} y {3, 4, 5}. Cada fila es un array de tres elementos.
Array bidimensional en C#
Un array bidimensional es esencialmente una tabla de filas y columnas. Los elementos del array son arrays unidimensionales.

En la imagen, las filas {1, 2, 3} y {3, 4, 5} representan las dos filas del array 2D.
1. Declaración
Declara un array 2D así:
int[ ] x = new int [2, 3];
Aquí, x puede contener 2 filas y 3 columnas —6 valores en total.
Nota: La coma simple entre corchetes ([ ]) indica un array bidimensional.
2. Inicialización
Puedes inicializar el array en la declaración:
int[ ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
O especificar tamaño y valores simultáneamente:
int[ ] x = new int[2, 3]{ {1, 2, 3}, {3, 4, 5} };
3. Accediendo a elementos
Usa índices base cero: x[fila, columna]. Ejemplos:
// array 2D
int[ ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
// primer elemento de la primera fila
x[0, 0]; // 1
// tercer elemento de la segunda fila
x[1, 2]; // 5
// tercer elemento de la primera fila
x[0, 2]; // 3

Ejemplo: Array 2D en C#
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
// inicializando array 2D
int[ ] numbers = {{2, 3}, {4, 5}};
// accede al primer elemento de la primera fila
Console.WriteLine("Element at index [0, 0] : " + numbers[0, 0]);
// accede al primer elemento de la segunda fila
Console.WriteLine("Element at index [1, 0] : " + numbers[1, 0]);
}
}
}
Salida
Element at index [0, 0] : 2 Element at index [1, 0] : 4
En este ejemplo, numbers tiene filas {2, 3} y {4, 5}. Imprimimos valores usando los índices mostrados.
numbers[0, 0]– primer elemento de la primera fila (2)numbers[1, 0]– primer elemento de la segunda fila (4)
Cambiando elementos
Asigna un nuevo valor a un índice para modificar el array:
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ ] numbers = {{2, 3}, {4, 5}};
// elemento antiguo
Console.WriteLine("Old element at index [0, 0] : " + numbers[0, 0]);
// asignando nuevo valor
numbers[0, 0] = 222;
// nuevo elemento
Console.WriteLine("New element at index [0, 0] : " + numbers[0, 0]);
}
}
}
Salida
Old element at index [0, 0] : 2 New element at index [0, 0] : 222
Aquí, el valor en [0, 0] cambia de 2 a 222.
Iterando con bucles anidados
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ ] numbers = { {2, 3, 9}, {4, 5, 9} };
for(int i = 0; i < numbers.GetLength(0); i++) {
Console.Write("Row "+ i+": ");
for(int j = 0; j < numbers.GetLength(1); j++) {
Console.Write(numbers[i, j] + " ");
}
Console.WriteLine();
}
}
}
}
Salida
Row 0: 2 3 9 Row 1: 4 5 9
El bucle externo itera sobre filas (GetLength(0)), el interno sobre columnas (GetLength(1)).
Nota: Un array tridimensional contiene múltiples arrays 2D:
int[ , ] numbers = { { { 1, 3, 5 }, { 2, 4, 6 } }, { { 2, 4, 9 }, { 5, 7, 11 } } };
Aquí, [ , ] (dos comas) denota un array 3D.
Lenguaje C
- Coeficientes de Resistividad Específica a 20°C – Referencia Completa de Materiales
- Elementos Calefactores Cerámicos: Funcionamiento y Ventajas Frente a Resistencias Metálicas
- Dominando arrays en C#: Declaración, inicialización y operaciones
- Dominando arrays escalonados en C#: Declaración, inicialización y acceso
- Cómo Pasar Arrays a Funciones en C++: Guía Práctica
- Arrays en C++: Declaración, inicialización y técnicas con punteros
- Asignación dinámica de arrays en C++: Guía práctica con ejemplos de código
- Dominando Colecciones en C#: Tutorial Práctico con Ejemplos del Mundo Real
- MATLAB: Dominando Arrays Multidimensionales y Especiales
- Técnicas de Copia de Arrays en Java: Guía Completa
- Dominando la Interfaz NavigableSet de Java: Navegación, Ordenación y Ejemplos Prácticos