Back in October I started looking to upgrade my books to .Net 3.5 (What are your favorite .Net 3.5 books to get learn the details?) and started with Jon Skeet’s book C# in Depth: What you need to master C# 2 and 3 - which I found was exactly what I needed to get up to speed on just the new stuff.
After Jon’s book, I found out about Bill’s new book (More Effective C#: 50 Specific Ways to Improve Your C#) … which turned out to be a great book to read after Jon’s book.
A few years ago I read Bill’s first Effective C#: 50 Specific Ways to Improve Your C# and really thought it summed up some great tips for C# developers, so when I found out that he had just written a follow up book (More Effective C#: 50 Specific Ways to Improve Your C#) I just bought it … I didn’t really think about it – amazon make it so easy to just buy :)
This second book on Effective C#, somewhat follows the same path that Jon Skeet’s book C# in Depth follows – but from another perspective (it’s all about perspective, right?). There are only 5 chapters:
- Working with Generics (items 1-10)
- Multithreading in C# (items 11–16)
- C# Design Practices (items 17-27)
- C# 3.0 Language Enhancements (items 28-35)
- Working with LINQ (items 36-44)
- Miscellaneous (items 45-50)
Like C# in Depth, this book isn’t written for C# beginners – it is more of a summary of new practices since .Net 1.1. Bill does a great job of explaining each of his 50 items and gives sufficient code examples where needed to communicate the pros and cons of the details. I really really thought this was a great book to follow Jon Skeet’s C# in Depth because Bill discusses more of the practical usage along with the pros and cons of using some of the new language features (where Jon did a great job of explaining the new features).
If you are just starting with .Net (in general) I would recommend getting Bill’s first book Effective C#: 50 Specific Ways to Improve Your C# before getting this book (most of those items still apply – even in the .Net 3.5 world … and are more fundamental).
If you are experienced in .Net and already strong in the fundamentals, I would highly recommend getting this book to help you learn the new stuff.
The next .Net 3.5 book I’m reading is The C# Programming Language (3rd Edition) … more on this one after I finish it.