Sobes.tech
Junior

Kas yra IEnumerable C#?

sobes.tech AI

Atsakymas iš AI

C# kalboje IEnumerable yra sąsaja, apibrėžta System.Collections erdvėje. Ji suteikia bendrą būdą pereiti (iteratoria) per kolekcijos elementus:

IEnumerable pagrindinės savybės:

  • Prieiga per iteratorių: Apibrėžia metodą GetEnumerator(), kuris grąžina IEnumerator sąsają įgyvendinantį objektą. IEnumerator leidžia nuosekliai pereiti nuo vieno kolekcijos elemento prie kito.
  • Tik skaitymui: IEnumerable leidžia tik pereiti per elementus. Ji nepateikia metodų elementų pridėjimui, šalinimui ar keitimui.
  • Lėtas įkėlimas: IEnumerable naudojimas dažnai sukelia lėtą įkėlimą. Elementai generuojami arba įkeliami tik tada, kai to reikia pereinant.
  • LINQ pagrindas: IEnumerable yra pagrindinis sąsaja daugeliui LINQ operacijų. LINQ plėtinių metodai (Where, Select, OrderBy) dirba su IEnumerable įgyvendinančiomis kolekcijomis, leidžiant kurti operacijų grandines.

Pavyzdys naudojimo:

// Sukuriame tekstų sąrašą
List<string> vaisiai = new List<string> { "obuolys", "bananas", "vyšnia" };

// Pereiname per sąrašo elementus naudodami foreach, kuris dirba su IEnumerable
foreach (string vaisius in vaisiai)
{
    // Išvedame kiekvieną vaisių
    Console.WriteLine(vaisius);
}

Susijusios sąsajos:

Sąsaja Aprašymas
IEnumerable Leidžia pereiti per kolekcijos elementus
IEnumerable<T> Genių versija IEnumerable skirta griežtai tipizuotoms kolekcijoms
ICollection Praplečia IEnumerable, prideda dydžio, pridėjimo/šalinimo metodus (ne universali)
ICollection<T> Genių versija ICollection
IList<T> Praplečia ICollection<T>, leidžia prieiti prie elementų pagal indeksą