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>.