Arrays en C#: Almacenamiento y acceso eficiente de datos
Un array (arreglo) almacena una colección secuencial de tamaño fijo de elementos del mismo tipo. Se usa para almacenar una colección de datos, pero es más útil pensar en un array como una colección de variables del mismo tipo almacenadas en ubicaciones de memoria contiguas.
En lugar de declarar variables individuales como numero0, numero1, ..., numero99, se declara una variable array como numeros y se usa numeros[0], numeros[1], ..., numeros[99] para representar variables individuales. Un elemento específico se accede mediante un índice.
Todos los arrays consisten en ubicaciones de memoria contiguas. La dirección más baja corresponde al primer elemento y la más alta al último.

Declaración de arrays
Para declarar un array en C#, use la siguiente sintaxis:
tipo_dato[] nombreArray;
Donde:
tipo_datoespecifica el tipo de elementos del array.[]especifica el rango (dimensión) del array.nombreArrayespecifica el nombre del array.
Ejemplo:
double[] balance;
Inicialización de un array
Declarar un array no lo inicializa en memoria. Cuando se inicializa la variable array, se pueden asignar valores. Un array es un tipo de referencia, por lo que se necesita la palabra clave new para crear una instancia.
double[] balance = new double[10];
Asignación de valores a un array
Puede asignar valores a elementos individuales usando el índice:
double[] balance = new double[10];
balance[0] = 4500.0;
Asignación en la declaración:
double[] balance = { 2340.0, 4523.69, 3421.0 };
Crear e inicializar:
int[] marcas = new int[5] { 99, 98, 92, 97, 95 };
Omitir el tamaño:
int[] marcas = new int[] { 99, 98, 92, 97, 95 };
Copiar una variable array a otra (ambas apuntan a la misma ubicación de memoria):
int[] marcas = new int[] { 99, 98, 92, 97, 95 };
int[] puntuaciones = marcas;
Al crear un array, el compilador C# inicializa implícitamente cada elemento a un valor por defecto según el tipo. Por ejemplo, para un array int todos los elementos se inicializan a 0.
Acceso a elementos del array
Un elemento se accede indexando el nombre del array:
double salario = balance[9];
Ejemplo completo: declaración, asignación y acceso
using System;
namespace AplicaciónArray {
class MiArray {
static void Main(string[] args) {
int[] n = new int[10]; // array de 10 enteros
int i, j;
// Inicializar elementos
for (i = 0; i < 10; i++) {
n[i] = i + 100;
}
// Mostrar cada elemento
for (j = 0; j < 10; j++) {
Console.WriteLine("Elemento[{0}] = {1}", j, n[j]);
}
Console.ReadKey();
}
}
}
Resultado:
Elemento[0] = 100
Elemento[1] = 101
Elemento[2] = 102
Elemento[3] = 103
Elemento[4] = 104
Elemento[5] = 105
Elemento[6] = 106
Elemento[7] = 107
Elemento[8] = 108
Elemento[9] = 109
Uso del bucle foreach
Además del bucle for, puede usar foreach para iterar un array:
using System;
namespace AplicaciónArray {
class MiArray {
static void Main(string[] args) {
int[] n = new int[10];
for (int i = 0; i < 10; i++) {
n[i] = i + 100;
}
foreach (int j in n) {
int i = j - 100;
Console.WriteLine("Elemento[{0}] = {1}", i, j);
}
Console.ReadKey();
}
}
}
Conceptos importantes sobre arrays en C#
| Nº | Concepto y descripción |
|---|---|
| 1 | Arrays multidimensionales: C# soporta arrays multidimensionales. La forma más simple es el array bidimensional. |
| 2 | Arrays escalonados (jagged arrays): Arrays de arrays. |
| 3 | Pasar arrays a funciones: Se puede pasar un puntero al array especificando su nombre sin índice. |
| 4 | Arrays de parámetros (params): Para pasar número desconocido de parámetros a una función. |
| 5 | La clase Array: En System namespace, clase base de todos los arrays, proporciona propiedades y métodos. |
Lenguaje C
- Ball Grid Array (BGA) explicado: Guía completa de tecnología PCB de alta densidad
- 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
- Cómo pasar arrays 1D y 2D a funciones en C – Guía práctica
- Entendiendo la relación entre arrays y punteros en C
- 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
- MATLAB: Dominando Arrays Multidimensionales y Especiales
- Técnicas de Copia de Arrays en Java: Guía Completa
- Tutorial de arrays en Java: Declaración, creación e inicialización – Código de ejemplo