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