Back to questions
Junior — Middle
87
Какое отличие между интерфейсом IList и коллекцией типа List в C#?
Answer from AI
sobes.tech 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>, что даёт гибкость менять реализацию, не меняя остальной код.