CLR via C#, by Jeffrey Richter, provides thorough coverage of the core features of the .NET Framework 2.0. It is a great review of information that you’re already familiar with, and is certain to teach you some useful things that you didn’t already know. The book is very practical, and includes Richter’s often strong opinions on how to properly use the technology, and which parts of the framework to avoid entirely. I highly recommend this book to C# programmers, regardless of experience – I’ve read a number of books on the CLR, and this one held my interest throughout.