Junior — Middle
Каква е разликата между интерфейса IList и колекцията от тип List в C#?
sobes.tech AI
Отговор от AI
IList<T> е интерфейс, който дефинира набор от методи и свойства за работа с колекция, поддържаща индексиране, добавяне, изтриване на елементи и др. Той задава договор, който могат да реализират различни класове колекции.
List<T> е конкретна реализация на интерфейса IList<T>, която предоставя динамичен масив с бърз достъп по индекс, както и възможност за добавяне и изтриване на елементи.
Основни разлики:
- IList<T> е абстракция, която позволява писане на код, независим от конкретната реализация на колекцията.
- List<T> е конкретен клас с реализация, който може да се използва директно.
Пример:
IList<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
Console.WriteLine(numbers[0]); // 1
Тук променливата е обявена като IList<int>, което дава гъвкавост при смяна на реализацията, без да се променя останалият код.