Monday, September 20, 2021 20:19

Archive for June, 2021

LINQ execution workflow

Wednesday, June 23rd, 2021

In the previous lesson, I talked about the fact that LINQ actually delays the execution of its constituent queries up until the very last moment, when we actually need the data. What was not as obvious at the time was the order in which the LINQ queries are executed.… Read more

Deferred execution

Wednesday, June 9th, 2021

A lot of people seem to think that deferred execution exists because of LINQ, and that is only partially true. LINQ does have a lot to do with it, but deferred execution exists first of all because of the yield statement.… Read more

Degenerate Select clauses

Monday, June 7th, 2021

Taking an excerpt code from the previous lessons about LINQ, we had these codes:


If you paid attention to the above code, you probably noticed the Select(n => n) function. If you analyze it a bit, you realize that it’s a lambda expression that all that it does is to take a parameter named n and return it, without any modification.… Read more

Writing custom LINQ extension methods

Monday, June 7th, 2021

In the previous lesson, when I introduced you to a preview of what LINQ looks like, I ended up with this code:


And we learned that the free form syntax of LINQ is the same thing as the declarative syntax of LINQ, which is also the same with some bunch of extension methods for the IEnumerable interface, declared inside a class called Enumerable.… Read more


Follow the white rabbit