C# Fundamentals

Agregar valores a colecciones de C#: Arreglos y Listas

Spread the love

C# ofrece varias maneras de trabajar con colecciones de datos. Si bien las matrices proporcionan un almacenamiento eficiente para un número fijo de elementos, la clase List<T> ofrece un redimensionamiento dinámico y mayor flexibilidad. Comprender las fortalezas y debilidades de cada enfoque es crucial para escribir código C# eficiente y mantenible.

Tabla de contenido

Trabajando con matrices en C#

Las matrices en C# son estructuras de datos de tamaño fijo. Una vez declaradas, su tamaño no se puede cambiar. Esta característica las hace eficientes en cuanto a memoria cuando se conoce de antemano el número de elementos. Sin embargo, puede rellenar los elementos de la matriz después de la declaración.

Aquí se muestra cómo agregar valores a una matriz usando un bucle for:


// Declarar una matriz de enteros de tamaño 5
int[] numbers = new int[5];

// Agregar valores usando un bucle for
for (int i = 0; i < numbers.Length; i++)
{
  numbers[i] = i * 10; // Asignar valores: 0, 10, 20, 30, 40
}

// Imprimir los elementos de la matriz
Console.WriteLine("Elementos de la matriz:");
foreach (int number in numbers)
{
  Console.WriteLine(number);
}

Recuerde que intentar acceder a un índice más allá de los límites de la matriz (por ejemplo, numbers[5]) dará como resultado una excepción IndexOutOfRangeException.

Utilizando listas para colecciones dinámicas

La clase List<T> proporciona una alternativa dinámica y redimensionable a las matrices. Su tamaño se ajusta automáticamente a medida que agrega o elimina elementos, lo que la hace adecuada cuando se desconoce el tamaño final.

Aquí se muestra cómo agregar valores a una List<T>:


// Declarar una lista de enteros
List<int> numbersList = new List<int>();

// Agregar valores usando el método List<T>.Add(T)
numbersList.Add(15);
numbersList.Add(25);
numbersList.Add(35);
numbersList.Add(45);
numbersList.Add(55);

// Imprimir los elementos de la lista
Console.WriteLine("nElementos de la lista:");
foreach (int number in numbersList)
{
  Console.WriteLine(number);
}

//Convertir List<T> a array si es necesario
int[] numbersArrayFromList = numbersList.ToArray();
Console.WriteLine("nArray creado a partir de la Lista:");
foreach (int number in numbersArrayFromList)
{
    Console.WriteLine(number);
}

El método Add() agrega elementos de manera eficiente. El método ToArray() permite la conversión a una matriz si es necesario.

Eligiendo el enfoque correcto

La mejor opción depende de sus necesidades específicas:

  • Matrices: Ideal cuando se conoce el tamaño de antemano y el rendimiento es primordial. Ofrecen una mejor eficiencia de memoria para colecciones de tamaño fijo.
  • Listas: Preferible cuando se desconoce el tamaño o se necesitan adiciones o eliminaciones frecuentes de elementos. List<T> proporciona flexibilidad, aunque el rendimiento puede ser ligeramente inferior al de las matrices para un gran número de adiciones secuenciales. Esta diferencia suele ser insignificante a menos que se trate de conjuntos de datos extremadamente grandes donde el rendimiento es crítico.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *