Sobes.tech
Junior

¿Qué es IEnumerable en C#?

sobes.tech AI

Respuesta de la IA

IEnumerable en C# es una interfaz definida en el espacio de nombres System.Collections. Proporciona una forma general de recorrer (iterar) los elementos de una colección.

Características clave de IEnumerable:

  • Acceso mediante iterador: Define el método GetEnumerator(), que devuelve un objeto que implementa la interfaz IEnumerator. IEnumerator permite avanzar secuencialmente de un elemento de la colección a otro.
  • Solo lectura: IEnumerable solo permite recorrer los elementos. No proporciona métodos para agregar, eliminar o modificar elementos de la colección.
  • Carga perezosa: El uso de IEnumerable a menudo conduce a una carga perezosa. Los elementos se generan o cargan solo según sea necesario durante la iteración.
  • Base de LINQ: IEnumerable es una interfaz fundamental para muchas operaciones de LINQ. Los métodos de extensión de LINQ (como Where, Select, OrderBy) trabajan con colecciones que implementan IEnumerable, permitiendo crear cadenas de operaciones.

Ejemplo de uso:

// Crear una lista de cadenas
List<string> fruits = new List<string> { "apple", "banana", "cherry" };

// Iterar sobre los elementos de la lista usando foreach, que funciona con IEnumerable
foreach (string fruit in fruits)
{
    // Mostrar cada fruta
    Console.WriteLine(fruit);
}

Interfaces relacionadas:

Interfaz Descripción
IEnumerable Proporciona la enumeración de los elementos de una colección
IEnumerable<T> Versión genérica de IEnumerable para colecciones tipadas
ICollection Extiende IEnumerable, añade métodos para tamaño, añadir/eliminar elementos (no universal)
ICollection<T> Versión genérica de ICollection
IList<T> Extiende ICollection<T>, añade acceso a elementos por índice