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 interfazIEnumerator.IEnumeratorpermite avanzar secuencialmente de un elemento de la colección a otro. - Solo lectura:
IEnumerablesolo permite recorrer los elementos. No proporciona métodos para agregar, eliminar o modificar elementos de la colección. - Carga perezosa: El uso de
IEnumerablea menudo conduce a una carga perezosa. Los elementos se generan o cargan solo según sea necesario durante la iteración. - Base de LINQ:
IEnumerablees una interfaz fundamental para muchas operaciones de LINQ. Los métodos de extensión de LINQ (comoWhere,Select,OrderBy) trabajan con colecciones que implementanIEnumerable, 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 |