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