Перейти к содержанию

IEnumerable или List — что использовать? [C#]

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

[ Полезный рекламный блок ]

Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.


Используйте IEnumerable, если нужны только базовые функции над коллекцией, например, итерация. Используйте IList, ICollection, если нужны более специфические операции над коллекцией.

Если вы хотите только перечислить данные, используйте IEnumerable.

Однако следует помнить, что изменение исходной перечисляемой коллекции является опасной операцией — в этом случае сначала нужно выполнить ToList(). Это создаст новый элемент списка для каждого элемента в памяти, перечисляя IEnumerable, и, таким образом, является менее производительным, если вы перечисляете только один раз — но более безопасным, и иногда методы List удобны (например, при случайном доступе).

При проектировании методов в C# лучше использовать интерфейсы, а не конкретные реализации, поскольку это дает наибольшую гибкость. Например, если наш метод принимает в качестве параметра IEnumerable, то вызывающая сторона может передать ему List, Array, Dictionary или любую коллекцию, которая реализует IEnumerable:

Так же, IEnumerable концептуально быстрее List из-за отложенного выполнения. Отложенное выполнение делает IEnumerable быстрее, потому что он получает данные только тогда, когда это необходимо. В отличие от списков, у которых данные постоянно находятся в памяти.

Опубликовано в рубрикеОтветы на Вопросы C#
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x