Essential C# 2.0, Mark Michaelis
Addison Wesley, ISBN 0321150775
Essential C# 2.0 is somewhat introductory in nature, but there’s enough coverage of more advanced topics to make it useful for experienced .NET developers as well. What’s really different about this book is its tremendous visual impact. This book has perhaps the best visual layout of any I’ve seen, and it’s so well done that it really helps the book get across the points Michaelis is making in this book.
Each chapter starts out with a mind map, one of my favorite tools for getting across highlights of a topic:
There’s a very nice deliniation of topic levels within chapters as well, with beginner and advanced topics being clearly separated out:
The code examples get some great markup, too, with bits inside code being clearly marked so you quickly see what the author’s focusing on — and the font for console output is way cool, too:
OK, so that’s all the visual stuff which would be simply eye candy bling and rather useless if the content of the book didn’t back it up. It’s nice that the content does back it up. There’s solid coverage of all the important topics: value vs. reference types, how the CLR/CLI works, basic object-oriented programming aspects of C#, and nice bits on delegates and events. C# 2.0 features get good coverage, and there are two nicely done chapters on threading. There’s also a chapter covering interoperability via P/Invoke and unsafe code (pointers), a topic I’ve not seen covered in any other book.
Michaelis’s writing style is clear, and he’s nicely concise in the book. I appreciate that he kept the focus on C# and didn’t try to span out into ASP.NET, web services, and a raft of various other topics that always seem to get lumped in with language books.
Overall I think this is a terriffic book and I’m happy to have it on my shelf!
(See my standard book review disclaimer.)