¡Hola! Hoy voy a compartir contigo uno de los types más geniales  que proporciona .NET para almacenar y gestionar una colección de objetos. Ya hablamos de arrays y List pero quiero aprovechar el espacio para hablar sobre la interfaz IEnumerable.

 

En .NET podemos dividir los tipos para colecciones en 3 categorías:

  • Interfaces que definen los protocolos estándar de las colecciones
  • Clases de colección listas para usar (list, diccionarios, etc.)
  • Clases base para escribir colecciones específicas de la aplicación

 

En esta ocasión nos vamos a centrar en la primera. Expone un enumerador, que soporta una simple iteración sobre una colección no genérica. IEnumerable contiene un único método, GetEnumerator, que devuelve una interfaz IEnumerator. IEnumerator proporciona la capacidad de iterar a través de la colección con una sentencia for-each.

 

  • La interfaz IEnumerable es una interfaz genérica que permite realizar bucles sobre listas genéricas o no genéricas.
  • La interfaz IEnumerable también funciona con la expresión de consulta linq.
  • La interfaz IEnumerable devuelve un enumerador que itera a través de la colección.
  • IEnumerable<T> es la interfaz base para las colecciones en el espacio de nombres System.Collections.Generic

 

Podemos implementar la interfaz IEnumerable de esta manera:

 

Conclusiones

Utilizamos la interfaz IEnumerable por una de las siguientes razones:

  • Para soportar la sentencia foreach.
  •  Para interoperar con cualquier cosa que espere una colección estándar.
  • Para cumplir los requisitos de una interfaz de colección más sofisticada.
  •  Para soportar inicializadores de colecciones.

 

Si te ha gustado este artículo, no olvides darle like👏. No olvides seguir nuestro Calendario #codingwinter2021. ¡Que tengas un maravilloso día! 

Si quieres obtener más información sobre todos sus métodos y características, sigue este enlace:

IEnumerable Interface (System.Collections) | Microsoft Docs