IList<T> — это интерфейс, который определяет набор методов и свойств для работы с коллекцией, поддерживающей индексацию, добавление, удаление элементов и т.д. Он задаёт контракт, который могут реализовывать разные классы коллекций.
Какое отличие между интерфейсом IList и коллекцией типа List в C#?
IListT — это интерфейс, который определяет набор методов и свойств для работы с коллекцией, поддерживающей индексацию, добавление, удаление элементов и т.д.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
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>, что даёт гибкость менять реализацию, не меняя остальной код.