Junior
Šta je IEnumerable u C#?
sobes.tech АИ
Одговор од АИ
IEnumerable u C#-u je interfejs definisan u prostoru imena System.Collections. On pruža opšti način za prolazak (iteraciju) kroz elemente kolekcije.
Ključne osobine IEnumerable:
- Pristup putem iteratora: Definiše metodu
GetEnumerator(), koja vraća objekat koji implementira interfejsIEnumerator.IEnumeratoromogućava sekvencijalno prelaziti sa jednog elementa kolekcije na drugi. - Samo za čitanje:
IEnumerableomogućava samo prolazak kroz elemente. Ne pruža metode za dodavanje, brisanje ili modifikaciju elemenata kolekcije. - Leno učitavanje: Korišćenje
IEnumerablečesto dovodi do lenog učitavanja. Elementi se generišu ili učitavaju samo kada je to potrebno tokom iteracije. - Osnova LINQ:
IEnumerableje fundamentalni interfejs za mnoge LINQ operacije. LINQ ekstenzijske metode (kao što suWhere,Select,OrderBy) rade sa kolekcijama koje implementirajuIEnumerable, omogućavajući kreiranje lanaca operacija.
Primer upotrebe:
// Kreiramo listu stringova
List<string> voće = new List<string> { "jabuka", "banana", "trešnja" };
// Prolazimo kroz elemente liste pomoću foreach, koji radi sa IEnumerable
foreach (string plod in voće)
{
// Štampamo svaki plod
Console.WriteLine(plod);
}
Povezani interfejsi:
| Interfejs | Opis |
|---|---|
IEnumerable |
Omogućava iteraciju kroz elemente kolekcije |
IEnumerable<T> |
Generička verzija IEnumerable za tipizirane kolekcije |
ICollection |
Proširuje IEnumerable, dodaje metode za veličinu, dodavanje/brisanje elemenata (ne univerzalno) |
ICollection<T> |
Generička verzija ICollection |
IList<T> |
Proširuje ICollection<T>, dodaje pristup elementima putem indeksa |