En C#, IEnumerable (ou plus souvent IEnumerable<T>) est une interface très utilisée pour représenter des collections itérables (sur lesquelles on peut faire un foreach, par exemple).
🔹 1. Définition de base
IEnumerable<T> fait partie du namespace System.Collections.Generic.
Elle permet d'itérer sur une collection d'objets de type T.
🔹 2. Exemple simple d’utilisation
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
IEnumerable<string> noms = new List<string> { "Alice", "Bob", "Charlie" };
foreach (var nom in noms)
{
Console.WriteLine(nom);
}
}
}
Ici, List<string> implémente IEnumerable<string>, donc tu peux l’utiliser comme un IEnumerable.
🔹 3. Créer une méthode qui retourne un IEnumerable
Tu peux faire des méthodes qui retournent un IEnumerable<T> pour bénéficier du lazy loading avec yield return.
static IEnumerable<int> GetNombresPairs(int max)
{
for (int i = 0; i <= max; i++)
{
if (i % 2 == 0)
yield return i;
}
}
Et tu peux l’utiliser comme ça :
foreach (int n in GetNombresPairs(10))
{
Console.WriteLine(n);
}
🔹 4. Quand utiliser IEnumerable ?
-
Quand tu veux retourner une séquence en lecture seule.
-
Quand tu veux profiter de LINQ.
-
Quand tu veux que l’exécution soit paresseuse (lazy).
🔹 5. Différence avec List<T>
-
List<T>est une collection concrète (tu peux ajouter/supprimer des éléments). -
IEnumerable<T>est une interface, donc plus générique et souple.
Aucun commentaire:
Enregistrer un commentaire