Я недавно столкнулся с этой проблемой. Я иногда нахожу, что я предпочитаю описательный синтаксис LINQ ...
это был мой звонок
// wont compile:
from ticket in actualTickets
group ticket by ticket.ID into ticketGroup
select AddToBasket( exhibition, ticketGroup.First(), ticketGroup.Count() );
Я не мог придумать вескую причину, чтобы заставить AddToBasket()
вернуть что-либо, поэтому я рефакторинг:
var pendingOpperations = from ticket in actualTickets
group ticket by ticket.ID into ticketGroup
select new Action( () => AddToBasket( exhibition, ticketGroup.First(), ticketGroup.Count() ) );
foreach ( var action in pendingOpperations ) action.Invoke();