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ąžinaIEnumeratorsąsają įgyvendinantį objektą.IEnumeratorleidžia nuosekliai pereiti nuo vieno kolekcijos elemento prie kito. - Tik skaitymui:
IEnumerableleidžia tik pereiti per elementus. Ji nepateikia metodų elementų pridėjimui, šalinimui ar keitimui. - Lėtas įkėlimas:
IEnumerablenaudojimas dažnai sukelia lėtą įkėlimą. Elementai generuojami arba įkeliami tik tada, kai to reikia pereinant. - LINQ pagrindas:
IEnumerableyra pagrindinis sąsaja daugeliui LINQ operacijų. LINQ plėtinių metodai (Where,Select,OrderBy) dirba suIEnumerableį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ą |