Tengo la siguiente declaración LINQ y quiero reescribirla usando métodos de extensión.¿Cuál es la forma elegante de reescribir la siguiente declaración LINQ utilizando métodos de extensión?
from x in e
from y in e
from z in e
select new { x, z }
Una posible solución es:
e.Join(e, x => 42, y => 42, (x, y) => new { x, y })
Join(e, _ => 42, z => 42, (_, z) => new { _.x, z });
Sin embargo, esto es todo menos elegante.
¿Alguna idea de cómo mejorar la belleza de la segunda expresión?
¿Realmente utilizan la misma secuencia en las tres cláusulas 'from'? –
+1 para la etiqueta 'beauty' :-) –
@Jon Skeet: Sí, esa es la intención. Este ejemplo particular proviene de Eric Mayers channel9 video conferencia sobre programación funcional. http://channel9.msdn.com/tags/Functional+Programming/ –