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 SchnittstelleIEnumeratorimplementiert.IEnumeratorermöglicht es, sequenziell von einem Element der Sammlung zum nächsten zu wechseln. - Nur Lesen:
IEnumerableerlaubt 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
IEnumerableführt oft zu einer fachen Ausführung. Elemente werden nur bei Bedarf während der Iteration generiert oder geladen. - Grundlage für LINQ:
IEnumerableist eine grundlegende Schnittstelle für viele LINQ-Operationen. LINQ-Extension-Methoden (wieWhere,Select,OrderBy) arbeiten mit Sammlungen, dieIEnumerableimplementieren, 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 |