Sobes.tech
Junior

Wat is IEnumerable in C#?

sobes.tech AI

Antwoord van AI

IEnumerable in C# is een interface gedefinieerd in de namespace System.Collections. Het biedt een algemene manier om door de elementen van een collectie te itereren.

Belangrijkste kenmerken van IEnumerable:

  • Toegang via iterator: Definieert de methode GetEnumerator(), die een object retourneert dat de interface IEnumerator implementeert. IEnumerator maakt het mogelijk om sequentieel van het ene element naar het andere te gaan.
  • Alleen lezen: IEnumerable staat alleen toe om de elementen te doorlopen. Het biedt geen methoden om elementen toe te voegen, te verwijderen of te wijzigen.
  • Lui laden: Het gebruik van IEnumerable leidt vaak tot lui laden. Elementen worden alleen gegenereerd of geladen wanneer dat nodig is tijdens de iteratie.
  • Basis van LINQ: IEnumerable is een fundamenteel interface voor veel LINQ-operaties. LINQ-extensiemethoden (zoals Where, Select, OrderBy) werken met collecties die IEnumerable implementeren, waardoor ketens van bewerkingen kunnen worden gemaakt.

Voorbeeld van gebruik:

// Maak een lijst van strings
List<string> fruit = new List<string> { "appel", "banaan", "kers" };

// Itereer over de lijst met behulp van foreach, dat werkt met IEnumerable
foreach (string item in fruit)
{
    // Print elk item
    Console.WriteLine(item);
}

Gerelateerde interfaces:

Interface Beschrijving
IEnumerable Biedt iteratie over de elementen van een collectie
IEnumerable<T> Generieke versie van IEnumerable voor getypte collecties
ICollection Breidt IEnumerable uit, voegt methoden toe voor grootte, toevoegen/verwijderen van elementen (niet universeel)
ICollection<T> Generieke versie van ICollection
IList<T> Breidt ICollection<T> uit, voegt toegang tot elementen via index toe