Junior — Middle
Koja je razlika između različitih tipova kolekcionih interfejsa?
sobes.tech АИ
Одговор од АИ
U C# interfejsima kolekcija definišu različite ugovore za rad sa skupovima podataka, a njihova razlika leži u funkcionalnosti i svrsi:
- IEnumerable<T> — osnovni interfejs za prolazak kroz kolekciju pomoću foreach. Dozvoljava samo čitanje elemenata jedan po jedan.
- ICollection<T> — proširuje IEnumerable<T>, dodaje metode za menjanje kolekcije (Add, Remove), svojstva Count i IsReadOnly.
- IList<T> — proširuje ICollection<T>, dodaje indeksator za pristup po indeksu, metode za umetanje i brisanje po indeksu.
- IDictionary<TKey, TValue> — predstavlja kolekciju parova ključ-vrednost, gde je pristup elementima realizovan putem ključa.
Izbor interfejsa zavisi od potrebnih operacija: ako je potrebna samo iteracija — IEnumerable<T>, ako je potrebna modifikacija i brojanje — ICollection<T>, ako je potreban pristup po indeksu — IList<T>, ako se radi sa ključevima — IDictionary<TKey, TValue>.