Some Cool New Features

I've been looking over some of my last few posts and they could easily come across as if I thought iterators and anonymous methods were the worst language features every added, and will never serve a good purpose.  If anything I think the opposite (or else I wouldn't have spent so much time on them).

Second only to generics I think iterators and anonymous methods are the coolest features added to the C# compiler.

So then why have I been writing all this negative stuff?  Well mainly because these guys are so powerful it's easy to write bad code and then blame it on the feature.  My goal is to point out their weaknesses so that you as educated developers can write clean, neat, and efficient code, and not get burned.  I believe in general these are both very powerful features, but like most powerful things they can be quite deadly if used improperly.  Somehow I just don't feel like the MSDN docs are going to capture some of these gotchas in their 1/2 page topic on anonymous method or iterator syntax.  Also I'm already starting to see bad habits and styles floating around and the features haven't even been officially released yet!

Well, if you've been itching to try them, we finally have an answer for you: Community Drops!  If you attend VSLive! or have a MSDN Universal subscription, we're sending out or first community drop.  One word of caution: this first release was definitely date driven, so there are known bugs, but it's a lot newer than the Alpha bits a few of you already have.  I would personally recommend installing it on a 'throw away machine' (i.e. a machine you don't mind re-installing the OS on just to clean things up), but go out and try it.  Hopefully the higher-ups will come up with a sane schedule for us releasing more frequent drops like this.  Enjoy!


Comments (5)

  1. Joku says:

    Would it be too much asked that maybe couple right and couple "inefficient" ways of doing some things with the new features would be pushed into the msdn pages which most often come up when searching how to implement the new features.

    People learn by example, or rather, copy a example. So with bad luck they might go to google and find some not so good way of doing a thing without questioning it, which is hard to do if you are new to the subject.

Skip to main content