Sobes.tech
Junior

Was ist IEnumerable in C#?

sobes.tech KI

Antwort von AI

IEnumerable in C# ist eine Schnittstelle, die im Namespace System.Collections definiert ist. Sie bietet eine allgemeine Möglichkeit, die Elemente einer Sammlung zu durchlaufen (iterieren).

Wichtige Merkmale von IEnumerable:

  • Zugriff über Iterator: Definiert die Methode GetEnumerator(), die ein Objekt zurückgibt, das die Schnittstelle IEnumerator implementiert. IEnumerator ermöglicht es, sequenziell von einem Element der Sammlung zum nächsten zu wechseln.
  • Nur Lesen: IEnumerable erlaubt nur das Durchlaufen der Elemente. Es stellt keine Methoden zum Hinzufügen, Entfernen oder Ändern von Elementen in der Sammlung bereit.
  • Faule Ausführung: Die Verwendung von IEnumerable führt oft zu einer fachen Ausführung. Elemente werden nur bei Bedarf während der Iteration generiert oder geladen.
  • Grundlage für LINQ: IEnumerable ist eine grundlegende Schnittstelle für viele LINQ-Operationen. LINQ-Extension-Methoden (wie Where, Select, OrderBy) arbeiten mit Sammlungen, die IEnumerable implementieren, und ermöglichen das Erstellen von Operation-Ketten.

Beispiel für die Verwendung:

// Erstellen einer Liste von Strings
List<string> fruechte = new List<string> { "Apfel", "Banane", "Kirsche" };

// Durchlaufen der Listenelemente mit foreach, das mit IEnumerable funktioniert
foreach (string frucht in fruechte)
{
    // Ausgabe jeder Frucht
    Console.WriteLine(frucht);
}

Verwandte Schnittstellen:

Schnittstelle Beschreibung
IEnumerable Bietet die Enumeration der Elemente einer Sammlung
IEnumerable<T> Generische Version von IEnumerable für typisierte Sammlungen
ICollection Erweitert IEnumerable, fügt Methoden für Größe, Hinzufügen/Entfernen von Elementen (nicht universell) hinzu
ICollection<T> Generische Version von ICollection
IList<T> Erweitert ICollection<T>, fügt Zugriff auf Elemente per Index hinzu