Los Arrays en C# son otra estructura de datos nativos del Framework de .NET. Un array es una secuencia o conjunto de elementos que pueden ser de cualquier tipo nativo (int, float, string, etc) o tipo definido por el programador (Persona, Animal, etc). Tienen muchas similitudes con las Listas en C#, pero a su vez son totalmente diferentes.
Los arrays en C# tienen una longitud definida (Length en inglés), que corresponde con el número de elementos que caben en el array. Es importante recalcar que el orden de los elementos dentro de un array será el mismo orden en el que fueron insertados en el array. Y recuerda que los índices en C# comienzan en 0 🙂
A tener en cuenta sobre Arrays en C#
Antes de entrar en materia, vamos a enumerar algunos de los puntos más importantes con respecto al uso de Arrays en C#:
- Cualquier Array en C# es un objeto de tipo System.Array del .NET Framework.
- Este objeto Array implementa el tipo base IEnumerable.
- Los elementos en un Array pueden ser de cualquier tipo (incluido otro Array). A esto se le llama Array de Arrays (veremos algún ejemplo a continuación).
- Al inicializar un Array, por defecto sus elementos tendrán un valor null o 0 si es un array de elementos numéricos.
- El orden de los elementos en un array dependerá de cuando fueron insertados. El primer elemento insertado estará en el índice 0 del array, y el último elemento insertado estará en la posición N.
- Para declarar un array en C# se utilizan los corchetes [] (brackets en inglés).
¿Cómo funcionan los arrays en C#?
Como hemos dicho antes, los arrays son en el fondo una secuencia de datos que guardamos en una variable. Por ejemplo, si queremos guardar un conjunto de nombres de las personas que vamos a guardar en una agenda, podríamos utilizar un array de objetos de tipo string.
Los arrays pueden contener tanto datos primitivos de .NET (string, int, float, etc) como datos de clases definidas por nosotros o por terceros.
Vamos a ver un ejemplo muy básico para ver cómo utilizar un Array de Strings para almacenar una secuencia de nombres de perros:

En este caso, tenemos un array de 4 posiciones. El primer elemento, Laika, está en la posición 0 de nuestro array. Coco está en la posición 1, Thor en la posición 2 y finalmente Tobi está en la posición 3, que es el último índice de nuestro array.
Declarando un array en C#
La declaración de arrays en C# es exactamente igual que la de cualquier otra variable. En el caso de los arrays, tendremos que especificar cuál va a ser el tipo de los elementos que contendrá. Por ejemplo:
1 2 3 | int[] arrayDeEnteros; string[] arrayDeStrings; Person[] arrayDePersonas; |
Siguiendo nuestro ejemplo de nombres de perros, vamos a utilizar un array de strings. Por lo tanto, para declarar nuestro array utilizamos la instrucción:
1 | string[] miArrayDeNombresDePerros; |
Inicializando un array en C#
Como ya sabes, declarar una variable NO significa que ya esté inicializada. Por lo tanto, el siguiente paso es construir nuestro array con los valores que queramos. Esto se lleva a cabo con la palabra clave new:
1 | string[] miArrayDeNombresDePerros = new string[4]; |
Con esta línea de código, hemos declarado e inializado un array de strings de 4 posiciones. Al inicializar un array necesitamos conocer a priori el tamaño que va a tener.
A continuación, tenemos varias formas para añadir los datos a nuestro array en C#.
Ejemplo 1
El más simple y que se suele enseñar en los cursos básicos de programación:
1 2 3 4 5 | string[] miArrayDeNombresDePerros = new string[4]; miArrayDeNombresDePerros[0] = "Laika"; miArrayDeNombresDePerros[1] = "Coco"; miArrayDeNombresDePerros[2] = "Thor"; miArrayDeNombresDePerros[3] = "Tobi"; |
Especificamos en qué posición va a estar cada elemento, acorde a la imagen que pusimos más arriba.
Ejemplo 2
Inicialización en línea de arrays en C# (inline initialization):
1 | string[] miArrayDeNombresDePerros = new string[4] { "Laika", "Coco", "Thor", "Tobi" }; |
Ejemplo 3
Inicialización en línea pero sin especificar el tamaño, que será calculado de forma automática en función del número de elementos que añadamos:
1 | string[] miArrayDeNombresDePerros = { "Laika", "Coco", "Thor", "Tobi" }; |
Accediendo a los elementos de un array
Una vez que hemos declarado e inicializado un array, podremos acceder a sus valores a través de la posición. Por ejemplo, si queremos obtener el primer valor que haya en el array, debemos acceder al índice 0:
1 | string nombre = miArrayDeNombresDePerros[0]; // es Laika |
Si queremos acceder al último elemento, el cuarto, accederemos al índice 3 (recordad que los índices en C# comienzan en 0):
1 | string nombre = miArrayDeNombresDePerros[3]; // es Tobi |
También es importante recalcar que los objetos Array en C# implementan el objeto base IEnumerable, por lo que es posible iterar a través de sus elementos. Por ejemplo, podemos utilizar un bucle for para imprimir todos los valores que hay en el array:
1 2 3 | for (int i = 0; i < miArrayDeNombresDePerros.Length; i++) { Console.WriteLine(miArrayDeNombresDePerros[i]); } |
En este bucle accedemos a las distintas posiciones del Array a través del índice de la variable i. Si lo ejecutamos, imprimirá en orden:
- Laika
- Coco
- Thor
- Tobi
¿No te gustan los arrays?
No te preocupes, es algo de lo más común. A menudo los arrays en C# no se enseñan correctamente en los cursos o en la propia universidad, por lo que su comprensión no es trivial.
Déjanos un comentario aquí debajo si quieres profundizar en algún ejemplo 🙂