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