Trying to LINQ it all together (Pt. I) - Epilogue
In the last post I said that I thought I’d have a bug in the keyword-based LINQ expression building. Of course, this is bollocks and not of the dog variety.
In my defense, the documentation I had read was getting it wrong, too, but other Microsoft online documentation gets it right. The following code shows the previous example written with the LINQ keywords.
Person[] pees = Person.CreatePeopleList(); var salarySums = from p in pees group p by p.Posn into groups select new { Position = groups.Key, TotalSalary = (from p in groups select p.Salary).Sum() };
Works like a treat. In retrospect it is quite clear why my attempt wouldn’t work. I was starting an iteration on the elements of groups and then doing a select on those. A select, though, acts on every element of the passed in object. Those were, quite rightfully, things of the Person type.