Un Array es una colección de variables del mismo del mismo tipo, y de un tamaño fijo. Estas se almacenan en ubicaciones de memoria contiguas.
Cada elemento del array puede accederse utilizando un índice numérico, comenzando desde cero. Para ello usamos el operador []
.
Los arrays en C# son de tipo System.Array
. Esta clase nos proporciona métodos y propiedades necesarias para trabajar con arrays.
Si quieres aprender más sobre Arrays estáticos
consulta el Curso de Introducción a la Programación leer más
Declaración de arrays
La sintaxis básica para declarar un Array es:
Tipo[] nombreArray;
Siendo,
- Tipo, tipo de datos que contendrá
Fijaos que no es necesario indicar el número de elemento del Array, porque sólo estamos definiendo una variable que referencia un Array.
Por ejemplo, para declarar un array de enteros:
int[] misNumeros;
En nuestra variable misNumeros
ahora podemos referenciar cualquier Array.
Creación de un arrays
Una vez declarado un Array, antes de poder usarlo debemos inicializarlo. Con ello asignaremos la memoria para almacenar sus elementos.
Para ello podemos crear un Array “vacío”. En este caso, todos los valores del array de inicializan al valor por defecto del tipo.
Por ejemplo, esto crearía un array con 5 valores int
inicializados a 0, porque 0 es el valor por defecto para el tipo int
.
int[] numeros = new int[5]; // Array de 5 elementos
Inicialización de arrays
Alternativamente, podemos inicializar el Array con una colección de valores datos. Por ejemplo así:
// sintaxis recomendada
int[] numeros = [ 1, 2, 3, 4, 5 ];
// equivalente a esto
int[] numeros = { 1, 2, 3, 4, 5 };
int[] numeros = new int[] { 1, 2, 3, 4, 5 };
Uso del array
Acceso a elementos de un array
Cada elemento de un array se accede utilizando un índice, que comienza desde 0. La sintaxis para acceder a un elemento es:
nombreArray[indice]
Por ejemplo:
int[] numeros = { 1, 2, 3, 4, 5 };
int primerNumero = numeros[0]; // primerNumero será 1
Modificación de elementos de un array
Los elementos de un array se pueden modificar asignando nuevos valores a los índices específicos:
int[] numeros = { 1, 2, 3, 4, 5 };
numeros[2] = 10; // El tercer elemento del array ahora será 10
Métodos y propiedades útiles array
Las listas en C# ofrecen una amplia gama de operaciones que nos permiten manipular y acceder a sus elementos de manera eficiente. Veamos algunas de ellas:
Longitud del array
La propiedad Length
devuelve el número total de elementos en un array:
int[] numeros = { 1, 2, 3, 4, 5 };
int longitud = numeros.Length; // longitud será 5
Ordenar un array
El método Sort
de la clase Array
permite ordenar los elementos de un array:
int[] numeros = { 5, 3, 1, 4, 2 };
Array.Sort(numeros); // numeros ahora será { 1, 2, 3, 4, 5 }
Invertir un array
El método Reverse
invierte el orden de los elementos en un array:
int[] numeros = { 1, 2, 3, 4, 5 };
Array.Reverse(numeros); // numeros ahora será { 5, 4, 3, 2, 1 }
Ejemplos prácticos
Calcular la media de un array de enteros
Este ejemplo muestra cómo calcular la media de los elementos en un array de enteros.
int[] numeros = { 1, 2, 3, 4, 5 }; // Declaramos el array con los números
int suma = 0; // Variable para almacenar la suma de los elementos
for (int i = 0; i < numeros.Length; i++)
{
suma += numeros[i]; // Suma cada elemento del array a 'suma'
}
double media = (double)suma / numeros.Length; // Calcula la media
Console.WriteLine($"La media es: {media}");
Buscar el valor máximo en un array
Este ejemplo muestra cómo buscar el valor máximo en un array de enteros.
int[] numeros = { 1, 2, 3, 4, 5 }; // Declaramos el array con los números
int maximo = numeros[0]; // Inicializa 'maximo' con el primer elemento del array
for (int i = 1; i < numeros.Length; i++)
{
if (numeros[i] > maximo) // Compara cada elemento con 'maximo'
{
maximo = numeros[i]; // Actualiza 'maximo' si se encuentra un valor mayor
}
}
Console.WriteLine($"El valor máximo es: {maximo}");
Contar cuántos elementos son mayores que un valor dado
Este ejemplo cuenta cuántos elementos en un array son mayores que un valor específico.
int[] numeros = { 1, 2, 3, 4, 5 }; // Declaramos el array con los números
int valor = 3; // Valor de referencia
int contador = 0; // Variable para contar los elementos
for (int i = 0; i < numeros.Length; i++)
{
if (numeros[i] > valor) // Verifica si el elemento es mayor que 'valor'
{
contador++; // Incrementa el contador si la condición es verdadera
}
}
Console.WriteLine($"Hay {contador} elementos mayores que {valor}");
Encontrar la posición de un elemento en un array
Este ejemplo muestra cómo encontrar la posición de un elemento específico en un array.
int[] numeros = { 1, 2, 3, 4, 5 }; // Declaramos el array con los números
int buscar = 4; // Elemento a buscar
int posicion = -1; // Inicializa la posición en -1 (valor que indica no encontrado)
for (int i = 0; i < numeros.Length; i++)
{
if (numeros[i] == buscar) // Compara cada elemento con 'buscar'
{
posicion = i; // Actualiza 'posicion' con el índice del elemento encontrado
break; // Sale del bucle
}
}
if (posicion != -1)
{
Console.WriteLine($"El número {buscar} se encuentra en la posición {posicion}");
}
else
{
Console.WriteLine($"El número {buscar} no se encuentra en el array");
}