Подтвердить что ты не робот

Разница между списком и IList

Возможные дубликаты:
IList <int> vs List <int>
С# - Список <T> или IList <T>

В чем разница между List и IList, которая имеет лучшую производительность и когда использовать List over IList и наоборот?

4b9b3361

Ответ 1

Если вы публикуете свой класс через библиотеку, которую другие будут использовать, вы, как правило, хотите разоблачить ее через интерфейсы, а не конкретные реализации. Это поможет, если вы решите изменить реализацию своего класса позже, чтобы использовать другой конкретный класс. В этом случае пользователям вашей библиотеки не потребуется обновлять свой код, так как интерфейс не изменяется.

Если вы просто используете его внутренне, вам может быть не так много, и использование List может быть в порядке.

Для большей проверки этого

Ссылка

Ответ 2

Список реализует интерфейс IList

IList - это интерфейс и не имеет никакой реализации, поэтому производительность IList зависит от класса, который он реализует

Ответ 3

В списке С# есть конкретная реализация интерфейса IList. Список представляет собой реализацию интерфейса IList. Идея заключается в программировании против интерфейса, а не в реализации. Как правило, ваши методы должны принимать и возвращать интерфейсы для коллекций. Это оставляет вашу собственную реализацию и комнату ваших абонентов для принятия решения о фактической реализации по мере необходимости.

Преимущество использования интерфейса заключается в том, что вы получаете возможность реализовать свою функциональность или еще лучше, единственную функциональность, которая вам нужна. Итак, если требуется только итерация/перечисление, тогда нет необходимости в методах Sort, Add.

Ответ 4

IList - это интерфейс - см. этот вопрос для получения дополнительной информации - List <T> или IList <T>

Ответ 5

В чем разница между программированием и вами? Звучит странно? Это! Просто потому, что оба они не сопоставимы. Вы человек, а программирование - это навык, который у вас есть. Также многие люди могут обладать этим навыком.

Аналогично IList - это интерфейс, который определяет некоторые возможности, которые любой класс может реализовать. List<T> является одним из них. Поскольку в IList нет реализации, нет никакого вопроса о сравнении производительности.