Sobes.tech
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ța IEnumerator. IEnumerator permite trecerea secvențială de la un element al colecției la altul.
  • Doar pentru citire: IEnumerable permite doar parcurgerea elementelor. Nu oferă metode pentru adăugarea, ștergerea sau modificarea elementelor colecției.
  • Încărcare leneșă: Utilizarea IEnumerable duce adesea la o încărcare leneșă. Elementele sunt generate sau încărcate doar după necesitate în timpul iterării.
  • Baza LINQ: IEnumerable este o interfață fundamentală pentru multe operații LINQ. Metodele de extensie LINQ (cum ar fi Where, 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