Sobes.tech
Junior — Middle

Aký je rozdiel medzi rôznymi typmi kolekčných rozhraní?

sobes.tech AI

Odpoveď od AI

V C# definujú kolekčné rozhrania rôzne zmluvy na prácu s dátovými súbormi a ich rozdiel spočíva vo funkčnosti a účele:

  • IEnumerable<T> — základné rozhranie na prechádzanie kolekcie pomocou foreach. Umožňuje iba čítanie prvkov po jednom.
  • ICollection<T> — rozširuje IEnumerable<T>, pridáva metódy na zmenu kolekcie (Add, Remove), vlastnosti Count a IsReadOnly.
  • IList<T> — rozširuje ICollection<T>, pridáva indexátor na prístup podľa indexu, metódy na vkladanie a odstraňovanie podľa indexu.
  • IDictionary<TKey, TValue> — predstavuje kolekciu párov kľúč-hodnota, kde je prístup k prvkom realizovaný cez kľúč.

Výber rozhrania závisí od požadovaných operácií: ak je potrebná iba iterácia — IEnumerable<T>, ak je potrebná modifikácia a počítanie — ICollection<T>, ak je potrebný prístup podľa indexu — IList<T>, ak sa pracuje s kľúčmi — IDictionary<TKey, TValue>.