Sobes.tech
Junior

Qu'est-ce que IEnumerable en C#?

sobes.tech IA

Réponse de l'IA

IEnumerable en C# est une interface définie dans l'espace de noms System.Collections. Elle fournit une méthode générale pour parcourir (itérer) les éléments d'une collection.

Caractéristiques clés de IEnumerable :

  • Accès via un itérateur : Définit la méthode GetEnumerator(), qui retourne un objet implémentant l'interface IEnumerator. IEnumerator permet de passer séquentiellement d'un élément de la collection à un autre.
  • Lecture seule : IEnumerable permet uniquement de parcourir les éléments. Il ne fournit pas de méthodes pour ajouter, supprimer ou modifier les éléments de la collection.
  • Chargement paresseux : L'utilisation de IEnumerable conduit souvent à un chargement paresseux. Les éléments sont générés ou chargés uniquement selon les besoins lors de l'itération.
  • Base de LINQ : IEnumerable est une interface fondamentale pour de nombreuses opérations LINQ. Les méthodes d'extension LINQ (telles que Where, Select, OrderBy) fonctionnent avec des collections implémentant IEnumerable, permettant de créer des chaînes d'opérations.

Exemple d'utilisation :

// Créer une liste de chaînes
List<string> fruits = new List<string> { "pomme", "banane", "cerise" };

// Parcourir les éléments de la liste avec foreach, qui fonctionne avec IEnumerable
foreach (string fruit in fruits)
{
    // Afficher chaque fruit
    Console.WriteLine(fruit);
}

Interfaces liées :

Interface Description
IEnumerable Fournit l'énumération des éléments d'une collection
IEnumerable<T> Version générique de IEnumerable pour des collections typées
ICollection Étend IEnumerable, ajoute des méthodes pour la taille, l'ajout/la suppression d'éléments (non universel)
ICollection<T> Version générique de ICollection
IList<T> Étend ICollection<T>, ajoute l'accès aux éléments par indice