Какое отличие между интерфейсом IList и коллекцией типа List в C#?

IListT — это интерфейс, который определяет набор методов и свойств для работы с коллекцией, поддерживающей индексацию, добавление, удаление элементов и т.д.

Короткий ответ

Что ответить на собеседовании

IList<T> — это интерфейс, который определяет набор методов и свойств для работы с коллекцией, поддерживающей индексацию, добавление, удаление элементов и т.д. Он задаёт контракт, который могут реализовывать разные классы коллекций.

Подробный разбор

Ответ с пояснениями

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>, что даёт гибкость менять реализацию, не меняя остальной код.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее