Junior — Middle
Jaký je rozdíl mezi různými typy kolekčních rozhraní?
sobes.tech AI
Odpověď od AI
V C# definují kolekční rozhraní různé smlouvy pro práci s datovými sadami a jejich rozdíl spočívá ve funkčnosti a účelu:
- IEnumerable<T> — základní rozhraní pro procházení kolekce pomocí foreach. Umožňuje pouze čtení prvků po jednom.
- ICollection<T> — rozšiřuje IEnumerable<T>, přidává metody pro změnu kolekce (Add, Remove), vlastnosti Count a IsReadOnly.
- IList<T> — rozšiřuje ICollection<T>, přidává indexátor pro přístup podle indexu, metody vkládání a odstraňování podle indexu.
- IDictionary<TKey, TValue> — představuje kolekci párů klíč-hodnota, kde je přístup k prvkům realizován přes klíč.
Volba rozhraní závisí na požadovaných operacích: pokud je potřeba pouze iterace — IEnumerable<T>, pokud je potřeba modifikace a počítání — ICollection<T>, pokud je potřeba přístup podle indexu — IList<T>, pokud práce s klíči — IDictionary<TKey, TValue>.