что у листа реализовано добавление/удаление/произвольный доступ?
Вот допустим, есть у меня 1 млн элементов, мне нужно их отфильтровать, справится лучше List или IEnumerable?
Мое понимание - что лист выгружается полностью в память для полноценной работы с ним, а итератор - поэлементно, то есть вопрос памяти? Какие еще жизненно-важные случаи использования итераторов можно придумать?
Форич юзает IEnumerable
Если тебе интересно когда юзать, то: Энумераблом принимаешь в методы Листом выплевиваешь из методов Правило: "Принимаешь более обширный тип, возвращаешь более конкретный" (или наоборот 🤔🗿)
Ну я так и делаю, смотря на хороший код, но до конца не понимал все-таки зачем, а тут задумался
Это зависит от ситуации. Если ты будешь менять тип коллекции например на очередь, верни энумерабл Если рид онли, то верни array Если операции редактирования коллекции то обычно лист
А еще что вспомнил, асинхронный форич же появился год назад уже как. Я так понимаю, еще в случае асинхронности пользоваться асинхронным итератором для более эффективной работы
Обсуждают сегодня