IEnumerable y List en C#: ¿cuál elegir y cómo funcionan?
¡Hola! Soy nuevo en C# y a menudo me confundo cuando tengo que elegir entre IEnumerable y List. Por ejemplo, escribo un método que devuelve una lista de números desde una base de datos:
```csharp
public List GetNumbers()
{
var numbers = new List();
for (int i = 0; i < 10; i++)
{
numbers.Add(i);
}
return numbers;
}
```
Pero mi colega dijo que es mejor devolver IEnumerable. No entiendo por qué. También noté que en LINQ métodos como Where() devuelven IEnumerable, y ToList() lo convierte en List. Cuando escribo:
```csharp
var query = numbers.Where(n => n > 5);
foreach (var n in query)
{
Console.WriteLine(n);
}
```
Todo funciona, pero no sé qué sucede "bajo el capó". ¿Hay diferencia en rendimiento? ¿Se pueden modificar los elementos en IEnumerable? ¿Y cuándo usar uno y cuándo el otro? Explíquenme, por favor, con ejemplos simples para que finalmente lo entienda.
<<>>
Diferencias principales entre IEnumerable y List
No answers yet.
Inicia sesión para dejar una respuesta