Решение, которое вы должны выбрать, будет зависеть от того, какие операции вам нужно выполнить.
В общем, у вас есть три основных варианта:
- IEnumerable <> для списка объектов, для которых требуется только итерация (без дополнительных операций, таких как модификация).
- ICollection <> для списка объектов, которые необходимо перебрать и изменить.
- Список <> для списка объектов, которые необходимо перебрать, изменить, отсортировать, получить доступ по индексу ...
Теперь вы можете подумать: поэтому я всегда буду использовать List, потому что он обеспечивает большую функциональность, но имейте в виду, что он требует больше всего времени, и хорошей практикой объектно-ориентированного программирования является программирование в направлении интерфейса, а не реализации. Реализации могут и будут меняться.
Затем вам нужно сбалансировать и проанализировать свой конкретный сценарий, чтобы сделать лучший выбор.
С уважением,