IEnumerable et List en C# : que choisir et comment ils fonctionnent ?
Salut ! Je suis débutant en C# et je me confonds souvent quand je dois choisir entre IEnumerable et List. Par exemple, j'écris une méthode qui retourne une liste de nombres depuis une base de données :
```csharp
public List GetNumbers()
{
var numbers = new List();
for (int i = 0; i < 10; i++)
{
numbers.Add(i);
}
return numbers;
}
```
Mais mon collègue a dit qu'il vaut mieux retourner IEnumerable. Je ne comprends pas pourquoi. J'ai aussi remarqué que dans LINQ, les méthodes comme Where() retournent IEnumerable, et ToList() le transforme en List. Quand j'écris :
```csharp
var query = numbers.Where(n => n > 5);
foreach (var n in query)
{
Console.WriteLine(n);
}
```
Tout fonctionne, mais je ne sais pas ce qui se passe "sous le capot". Y a-t-il une différence de performance ? Peut-on modifier les éléments dans I