Здравствуйте, -n1l-, Вы писали:
N>В чем разница?
в возвращаемом значении.
простой ForEach ничем от цикла не отличается. Кроме производительности
А вот чтоб переписать код ниже без метода Do — нужно заводить отдельный метод
IEnumerable<MyObj> GetObjs() { .... } // получаем данные
void Process(IEnumerable<MyObj> objs) // обрабатываем их как то
{
foreach(var obj in objs)
{
...
}
}
AdditionalData GetAdditionalData(MyObj obj) { ... }
Proccess(GetObjs().Do(obj => obj.AdditionalData = GetAdditionalData(obj)));