Sobes.tech
Junior

Čo je to IEnumerable v C#?

sobes.tech AI

Odpoveď od AI

IEnumerable v C# je rozhranie definované v názvovom priestore System.Collections. Poskytuje všeobecný spôsob prechádzania (iterácie) prvkov kolekcie.

Kľúčové vlastnosti IEnumerable:

  • Prístup pomocou iterátora: Definuje metódu GetEnumerator(), ktorá vracia objekt implementujúci rozhranie IEnumerator. IEnumerator umožňuje sekvenčne prechádzať z jedného prvku kolekcie na druhý.
  • Len na čítanie: IEnumerable umožňuje iba prechádzanie prvkov. Neposkytuje metódy na pridanie, odstránenie alebo zmenu prvkov kolekcie.
  • Línie načítanie: Použitie IEnumerable často vedie k línemu načítaniu. Prvky sú generované alebo načítané iba podľa potreby počas iterácie.
  • Základ LINQ: IEnumerable je základným rozhraním pre mnoho operácií LINQ. Rozšírené metódy LINQ (ako Where, Select, OrderBy) pracujú s kolekciami, ktoré implementujú IEnumerable, čo umožňuje vytváranie reťazcov operácií.

Príklad použitia:

// Vytvoríme zoznam reťazcov
List<string> ovocie = new List<string> { "jablko", "banán", "čerešňa" };

// Prechádzame prvky zoznamu pomocou foreach, ktorý funguje s IEnumerable
foreach (string ovocie in ovocie)
{
    // Vypíšeme každý ovocie
    Console.WriteLine(ovocie);
}

Súvisiace rozhrania:

Rozhranie Popis
IEnumerable Poskytuje prechádzanie prvkov kolekcie
IEnumerable<T> Generická verzia IEnumerable pre typizované kolekcie
ICollection Rozširuje IEnumerable, pridáva metódy pre veľkosť, pridanie/odstránenie prvkov (nie univerzálne)
ICollection<T> Generická verzia ICollection
IList<T> Rozširuje ICollection<T>, pridáva prístup k prvkom podľa indexu