Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

Table of Contents

You may consider it a little odd to have a list of posts as the final part in the series, but it makes sense when you consider that visiting the Edulinq tag page shows results in reverse chronological order. At that point, a newcomer will hopefully hit this post first, and then find it easier to navigate to the first post. Anyway...

  1. Introduction
  2. Where
  3. Select
  4. Range
  5. Empty
  6. Repeat
  7. Count and LongCount
  8. Concat
  9. SelectMany
  10. Any and All
  11. First, Single, Last and the ...OrDefault versions
  12. DefaultIfEmpty
  13. Aggregate
  14. Distinct
  15. Union
  16. Intersect
  17. Except
  18. ToLookup
  19. Join
  20. ToList
  21. GroupBy
  22. GroupJoin
  23. Take, Skip, TakeWhile, SkipWhile
  24. ToArray
  25. ToDictionary
  26. Ordering:
  27. Reverse
  28. Sum
  29. Min and Max
  30. Average
  31. ElementAt and ElementAtOrDefault
  32. Contains
  33. Cast and OfType
  34. SequenceEqual
  35. Zip
  36. AsEnumerable
  37. Guiding principles
  38. What's missing?
  39. Comparing implementations
  40. Optimization
  41. How query expressions work
  42. More optimization
  43. Out-of-process queries with IQueryable
  44. Aspects of design
  45. Conclusion and List of Posts

Thank you, and good night

When I started this series, I hadn't realised quite how much there would be to write about. The main thrust was going to be that the implementation of LINQ is simple, and it's the design that's clever. As it happened, pretty much every operator ended up raising some interesting issue or other. However, hopefully the series has still "immersed" you in LINQ to Objects to some extent, and clarified how it all hangs together. It would be gratifying to think that the description at the start of each post may end up being used as a sort of "unofficial alternative documentation" with some more details than MSDN provides, but we'll see whether than happens over time.

A number of people have asked me whether there'll be an ebook version of this series, and the answer is currently "I don't know." I have a few plans afoot, but I can't tell where they'll lead yet. Suffice to say I like the idea, and I'm looking at some options.

Anyway, thank you for reading as much of the series as you have, and I hope you've enjoyed it as much as I have.

Just in case you're wondering, I'll probably go back to posting about C# 5's async support pretty soon...

Published Wed, Feb 23 2011 23:20 by skeet
Filed under: , ,

Comments

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

In two words... Thank you

This was an awesome series. Thank you again for taking the time to post these...

Wednesday, February 23, 2011 5:52 PM by Greg Duncan

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

Ebook compilation would be fantastic Jon!

Wednesday, February 23, 2011 8:14 PM by Eddie

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

Great Work! Thank you.

Wednesday, February 23, 2011 9:30 PM by Bart Fibrich

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

It has become a great source of information, thanks for taking the time to write it!

Thursday, February 24, 2011 1:37 AM by Michiel

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

Outstanding series Jon, great stuff.

As Eddie mentioned above, an EBook would be lovely *prays*

Thursday, February 24, 2011 6:25 AM by David Southall

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

Fantastic series. I don't get to play with C# very much these days, so these posts showing up in my RSS reader were quite exciting.

Thanks for the read!

Thursday, February 24, 2011 6:30 AM by Josh Smeaton

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

What a great work.

Love the book, love this blog, love your post @SO

Thursday, February 24, 2011 7:06 AM by K. Hoffmann

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

I was looking for just this type of post yesterday when I picked up the series.  Thank you!

Thursday, February 24, 2011 8:45 AM by Ben Landers

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

You are the man - Jon! Great work!

Sunday, February 27, 2011 12:53 AM by GBackMania

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

Jon,

Thanks for this amazing series and all the work you put into it.

I consider myself an advanced user of LINQ-to-objects, and I still learned a lot from it.

You're an inspiration.

Monday, February 28, 2011 8:26 AM by Diego Mijelshon

# Link broken

On the left below Handy Pages:

.NET 2.0 breaking changes isn't available anymore.

Tuesday, March 01, 2011 3:18 AM by New Follower

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

@New Follower: Thanks, I'll remove it - I suspect it's not relevant any more to most people.

Tuesday, March 01, 2011 3:25 AM by skeet

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

Hey Jon, sorry for offtopic - but are you going to offer any promo coupons for your new tekpub cast? It's just that that I always run into the situation that I buy something and then it gets some sort of discount, lol.

Thursday, March 03, 2011 10:32 AM by Mike

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

@Mike: I don't know what Tekpub usually does in the way of discounts... whether they ever do them, in fact. I'll ask Rob next time I talk with him.

Thursday, March 03, 2011 10:58 AM by skeet

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

Great work. Thanks so much for using the time to put this together. Would be nice with a ebook version as others also have written.

Tuesday, March 08, 2011 10:27 AM by Christian

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

Jon, just another pat on the back, truly an epic saga - great stuff.

Monday, March 14, 2011 7:04 AM by Damon

# re: Reimplementing LINQ to Objects: Part 45 - Conclusion and List of Posts

Nice set of posts Jon!  Haven't yet scratched the surface but the depth is amazing.  Reminds me of the (supposed) quote from someone who had spent a long ship journey hearing the details of relativity from Einstein.  "Every day he explained his theory to me, and now I am convinced that *he* understands it." :)

Regards

Mark

Sunday, April 17, 2011 10:52 PM by mark foley