samedi 1 mars 2025

IEnumerable

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

IEnumerable Lượt xem: