Sobes.tech
Junior — Middle

Care este diferența dintre diferitele tipuri de interfețe de colecție?

sobes.tech AI

Răspuns de la AI

În C#, interfețele colecțiilor definesc diferite contracte pentru lucrul cu seturi de date, iar diferența lor constă în funcționalitate și scop:

  • IEnumerable<T> — interfața de bază pentru parcurgerea unei colecții cu ajutorul foreach. Permite doar citirea elementelor unul câte unul.
  • ICollection<T> — extinde IEnumerable<T>, adaugă metode pentru modificarea colecției (Add, Remove), proprietățile Count și IsReadOnly.
  • IList<T> — extinde ICollection<T>, adaugă un indexator pentru accesul pe bază de index, metode pentru inserare și ștergere pe bază de index.
  • IDictionary<TKey, TValue> — reprezintă o colecție de perechi cheie-valoare, unde accesul la elemente se face după cheie.

Prin urmare, alegerea interfeței depinde de operațiile necesare: dacă este nevoie doar de iterare — IEnumerable<T>, dacă este nevoie de modificare și numărare — ICollection<T>, dacă este nevoie de acces pe bază de index — IList<T>, dacă se lucrează cu chei — IDictionary<TKey, TValue>.