Skip to main content
  1. Tags/

Linq

A scenario where LINQ is too dynamic (answered)

·2 mins

The situation I talked about in my previous post had one very big issue: LINQ sometimes just is too dynamic… 😉
The fact that I changed the value for the Ranking property for each SpecificObject that got matched, made the primary LINQ query have a different outcome. LINQ uses lazy evaluation and  because of that, the contents of finalGroups and exitGroups changed every time I changed the Ranking value for one of the SpecificObjects. Each time the variable containing the outcome of the LINQ query is iterated through, the query is evaluated again. This made that the matching was all off, and I ended up with a bunch of exit groups that got matched!

A scenario where LINQ is too dynamic

·1 min

While developing an algorithm to match preferences to possibilities, I had to sort a generic list of a specific object type (SpecificObject). The first x objects would be matched, the rest would be excluded because of the number of available places. To determine the group of objects that would be matched and the group that would be excluded, I did something like this:

Selecting all the controls of a specific type, the (built in!) LINQ way

·2 mins

We probably all worked with dynamically generated controls on forms, ASP.NET pages or (user) controls. And I guess we’ve all written for-each statements to loop through the ControlCollection and filter out all the controls of a specific type, right? I wanted to do the same today, so I started by trying to use LINQ for this:
Image missing This, as you can see, generated a compile time error:
Could not find an implementation of the query pattern for source type ‘System.Web.UI.ControlCollection’.  ‘Where’ not found.  Consider explicitly specifying the type of the range variable ‘control’.