With Visual Studio 2008 SP1 (now in beta), C# gets one of those huge features that turned me off to the language in the first place, Background Compiling!
What does this mean???
Simply put, when you type in an error in the code, you know about it without having to compile, for example.

Product is an invalid object, so therefore it gets a red squiggly without compiling, which is a huge step.
Another example:

Wrong return types, which is nice.
This feature alone will probably get me into C# a lot faster then I was originally planning, this is what dynamic spell checking did for Microsoft Word in my opinion.
Great feature add, and I can't wait for the "official" release of .Net 3.5 SP 1 as well as Visual Studio 2008 SP 1.