Thinking Linq
I’ve been comfortable using LINQ for what seems like a long time. I’m noticing that I’ve been implementing some of the lesser used functions a bit more as of late, but I’m not sure exactly when they’re appropriate. Take the following method that is a prime candidate for leveraging LINQ.
Any time you see that if
inside a foreach
in C#, you’ll probably want to write this differently. A year ago, I probably would have written this:
More recently, my thought process makes me want to write that same code like so:
For some reason, I like the second LINQ implementation better. It just seems to read nicer and reflect the method’s intent a bit more accurately.
I don’t have a strong preference either way, so I decided to see how different they actually are in IL:
As far as I’m concerned, these are exactly the same. I’m going to go with the second implementation, the one that uses .SkipWhile().