Sobes.tech
Junior

Mi az az IEnumerable a C#-ban?

sobes.tech MI

Válasz az MI-től

IEnumerable a C#-ban egy interfész, amely a System.Collections névtérben van definiálva. Általános módot biztosít a kollekció elemeinek bejárására (iterálására).

Az IEnumerable fő jellemzői:

  • Iterátorral való hozzáférés: Meghatározza a GetEnumerator() metódust, amely egy IEnumerator-t implementáló objektumot ad vissza. Az IEnumerator lehetővé teszi, hogy szekvenciálisan lépkedjünk egyik elemtől a másikig.
  • Csak olvasható: Az IEnumerable csak az elemek bejárását teszi lehetővé. Nem nyújt módszereket az elemek hozzáadására, törlésére vagy módosítására.
  • Lusta betöltés: Az IEnumerable használata gyakran vezet lusta betöltéshez. Az elemek csak akkor generálódnak vagy töltődnek be, amikor szükség van rájuk az iteráció során.
  • LINQ alapja: Az IEnumerable alapvető interfész sok LINQ művelethez. A LINQ kiterjesztő módszerei (Where, Select, OrderBy) olyan kollekciókkal működnek, amelyek megvalósítják az IEnumerable-t, lehetővé téve műveletsorozatok láncolását.

Használati példa:

// Létrehozunk egy string listát
List<string> gyumolcsok = new List<string> { "alma", "banán", "cseresznye" };

// Az elemek bejárása foreach segítségével, ami az `IEnumerable`-t használja
foreach (string gyumolcs in gyumolcsok)
{
    // Minden gyümölcs kiírása
    Console.WriteLine(gyumolcs);
}

Kapcsolódó interfészek:

Interfész Leírás
IEnumerable Az elemek bejárását biztosítja egy kollekcióban
IEnumerable<T> Az IEnumerable generikus változata típusos kollekciókhoz
ICollection Bővíti az IEnumerable-t, hozzáadva méret, elem hozzáadása/törlése módszereket (nem univerzális)
ICollection<T> Az ICollection generikus változata
IList<T> Bővíti az ICollection<T>, hozzáadva az elemek index szerinti elérését