>>817
>実際にはこんなへんちくりんな構文使わんよね
>b.Where(...).Select(...)
>普通に書いたほうが見やすいし分かりやすいぜ

var namesAndOrderIDs =
  customers.
  Where(c => c.Country == "Denmark").
  SelectMany(c => c.Orders, (c,o) => new { c, o }).
  Where(co => co.o.OrderDate.Year == 2005).
  Select(co => new { co.c.Name, co.o.OrderID });

var namesAndOrderIDs =
  from c in customers
  where c.Country == "Denmark"
  from o in c.Orders
  where o.OrderDate.Year == 2005
  select new { c.Name, o.OrderID };
どっちが読みやすいかと言えば圧倒的に下なんだが。