Junior
Ce este IEnumerable în C#?
sobes.tech AI
Răspuns de la AI
IEnumerable în C# este o interfață definită în spațiul de nume System.Collections. Oferă o modalitate generală de a parcurge (itera) elementele unei colecții.
Caracteristici cheie ale IEnumerable:
- Acces prin iterator: Definește metoda
GetEnumerator(), care returnează un obiect ce implementează interfațaIEnumerator.IEnumeratorpermite trecerea secvențială de la un element al colecției la altul. - Doar pentru citire:
IEnumerablepermite doar parcurgerea elementelor. Nu oferă metode pentru adăugarea, ștergerea sau modificarea elementelor colecției. - Încărcare leneșă: Utilizarea
IEnumerableduce adesea la o încărcare leneșă. Elementele sunt generate sau încărcate doar după necesitate în timpul iterării. - Baza LINQ:
IEnumerableeste o interfață fundamentală pentru multe operații LINQ. Metodele de extensie LINQ (cum ar fiWhere,Select,OrderBy) lucrează cu colecții care implementeazăIEnumerable, permițând crearea de lanțuri de operații.
Exemplu de utilizare:
// Creăm o listă de șiruri
List<string> fructe = new List<string> { "măr", "banană", "cireș" };
// Parcurgem elementele listei cu ajutorul foreach, care funcționează cu IEnumerable
foreach (string fruct in fructe)
{
// Afișăm fiecare fruct
Console.WriteLine(fruct);
}
Interfețe conexe:
| Interfață | Descriere |
|---|---|
IEnumerable |
Oferă enumerarea elementelor unei colecții |
IEnumerable<T> |
Versiune generică a IEnumerable pentru colecții tipizate |
ICollection |
Extinde IEnumerable, adaugă metode pentru dimensiune, adăugare/ștergere de elemente (nu universal) |
ICollection<T> |
Versiune generică a ICollection |
IList<T> |
Extinde ICollection<T>, adaugă acces la elemente după index |