I only discovered that one myself a few weeks ago while studying for my final MCPD exam. Had no idea that it existed, but now it makes so much sense that it does. Thanks for sharing it Greg!
-David Burela On 2 March 2012 09:29, Greg Keogh <[email protected]> wrote: > Just a Friday morning heads up. Last night I had to search through a > collection of object collections, and knew I wanted a “flatten” operator > like Mathematica and other languages have, but couldn’t find one. I started > coding LINQ Aggregate with Concat and creating a LISP-like clever mess. I > thought this was a bit silly so I flipped through one of my books and > suspected that SelectMany might be what I want. The description of the > operator was a bit misleading (and so is the name), but it turns out that > SelectMany is actually a “Flatten” in disguise. So you can simply do this: > **** > > ** ** > > ParentColl.SelectMany(p => p.ChildColl).Where(c => c.Type == "Foo");**** > > ** ** > > Greg**** >
