Sobes.tech
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>, което дава гъвкавост при смяна на реализацията, без да се променя останалият код.