Junior — Middle
Каква е разликата между различните типове колекционни интерфейси?
sobes.tech AI
Отговор от AI
В C# интерфейсите за колекции дефинират различни договори за работа с набори от данни, и тяхната разлика се състои в функционалността и предназначението:
- IEnumerable<T> — базов интерфейс за обхождане на колекция с помощта на foreach. Позволява само четене на елементите по един.
- ICollection<T> — разширява IEnumerable<T>, добавя методи за промяна на колекцията (Add, Remove), свойства Count и IsReadOnly.
- IList<T> — разширява ICollection<T>, добавя индексатор за достъп по индекс, методи за вмъкване и изтриване по индекс.
- IDictionary<TKey, TValue> — представлява колекция от двойки ключ-стойност, където достъпът до елементите става по ключ.
Изборът на интерфейс зависи от необходимите операции: ако е нужна само итерация — IEnumerable<T>, ако е нужна модификация и броене — ICollection<T>, ако е нужен достъп по индекс — IList<T>, ако работите с ключове — IDictionary<TKey, TValue>.