More Effective C#: 50 Specific Ways to Improve Your C# by Bill Wagner. ISBN 0321485890
More Effective C# continues in the same style as Bill’s first book: short, concise articles around a specific topic you’ll need to pay attention to when figuring out how to write the best C# code you possibly can.
Bill starts off with a deep dive into Generics and some of the many subtleties you need to consider. He points out things like considering how you write generic code in base classes, genericized algorithms, and working with generic interfaces. Bill moves through other broad categories including LINQ, C# Design, and enhancements in the 3.0 release of C#. There’s also a great section on multithreading in C# which hits some great points in this very arcane but critical aspect of development.
This book definitely isn’t a tutorial on C#, but I’d say that it’s critical for all devs regardless of experience, to read through. I’d also say, although Bill will likely disagree with me, that many of the tenets he puts forth can apply to folks working in other languages on the .NET platform. Even VB devs can learn some high-level concepts from reading through this book.
I can’t recommend this book enough. It’s right alongside Jon Skeet’s C# in Depth and Bill’s Effective C#.
<Disclaimer>Bill Wagner, the author of this great work, is a friend of mine. I got the book for free as a review copy, but not from him. Neither those facts, nor the $0.25 Bill slipped me, have any impact on my review.</Disclaimer>