A few weeks a go, I finally finished Jon Skeet's book C# in Depth: What you need to master C# 2 and 3
- which was recommended to me last October when I asked What are your favorite .Net 3.5 books to learn the details? ... and it definitely is the type of book I was looking for. The book isn't all the big (less than 400 pages) but it is enough to cover the evolution of the C# language and get me up to date on the new C# features.
In my opinion, if you are a C# developer and have a quite a bit of experience with .Net 1.0, 1.1 and maybe even 2.0 - but just don't have the time to dig into all the material on C# or .Net to find out what is new in C# 2.0, 3.0 and 3.5 - then you should get this book! It is amazing how Jon fit so much detail into a readable format. I also would highly recommend you read the whole thing from front to back.
The book is written assuming you are already familiar with 1.x - which is how it is less than 400 pages. Jon runs through most of the features that have been added to the C# language starting with 2.0 through 3.5. Some of the best things about his C# 2.0 coverage is how he covers both the background detail as well as builds up the story of how some of the 2.0 items are built on for 3.0 and 3.5. With the C# 3.0 and 3.5 coverage, the book provides exactly what I was looking for: detail on what the new features are, how they work, how to use them and enough detail to get me interested in finding out more detail (like looking at the Ecma spec). The code samples Jon provides, provide a good start to learning how to use the language features ... which is great - because it provides the reader with a good starting reference point ... after that - getting them running in Reflector and seeing what the compiler really does is a great next step for me:).
Overall, I highly recommend the book to anyone who is an experienced .Net developer who is looking for a book to get up to speed on the new stuff. There is very little content in this book that you would find in the MSDN documentation - just a lot of details and great explanations of how C# has evolved from 1.x to 3.5. The one warning I have is - if you are not an experienced .Net developer, then you may want to start with another book before moving to this one (I would suggest starting with CLR via C#, Second Edition (Pro Developer)
)