c# ienumerable ilist

c# - ¿Qué debo usar un IEnumerable o IList?



(3)

Esta pregunta ya tiene una respuesta aquí:

¿Alguien puede decirme cuándo debo usar cualquiera de las dos?

Por ejemplo, creo que debería usar un IList cuando quiero acceder al .Count de la colección o un elemento individual, ¿correcto?

Gracias.


Debería usar IList cuando necesite acceder por índice a su colección, agregar y eliminar elementos, etc., e IEnumerable cuando solo necesite enumerar sobre su colección.

Una respuesta muy simple, puedo extenderla si describe su situación.



En términos generales, debe intentar usar el tipo menos específico que se adapte a su propósito. IEnumerable es menos específico que IList ( IList implementa IEnumerable ), de modo que, a menos que desee algo específico de IList (como Count como sugiere, o quizás Add , Delete , etc.), usaría IEnumerable .

Una de las ventajas de permanecer con IEnumerable es que puede escribir métodos de iterador para devolver este tipo (busque "rendimiento de rendimiento" y métodos de iterador si no está familiarizado con ellos). Esto le permite escribir "tuberías" muy eficientes en memoria para sus bucles.