Book Review: Programming C#

Programming C#, 4th Edition, $44.95
by Jesse Liberty
O'Reilly, 2005
644 pages
Examples in C#
http://www.amazon.com/exec/obidos/ASIN/0596006993/larkware-20

Back when Microsoft was first preparing to ship .NET, I could barely get from my office door to my desk thanks to the piles of C# books that were being timed to coincide with the product launch. Everything from LEARN C# WITH THE BUDDHIST MASTERS to C# FOR ELBONIAN REFUGEES was poised to hit the bookshelves, and of course most of these titles sank into the out of print swamp without a trace. This time around, with .NET 2.0 struggling to get out the door, the new edition of Jesse Liberty's book is the only one to have shown up for review. I'm happy to say that this represents a simple tradeoff of quantity for quality, and that Jesse's book continues to be one that I can recommend without reservations to anyone who just wants to sit down and learn what C# is all about.

Take note that this isn't a "what's new in C# 2.0" book; this is a C# book that has been reworked to include the new 2.0 features, and to use VS2005 where it gets into building applications. So while there's still some chance that it's going to not quite match the shipping version of the software (whenever Microsoft finally manages to ship), it should be largely correct, because the bulk of the book is about functionality that's been shipping for years. Liberty starts out with the traditional "Hello World" and works his way up through language and syntax basics through the object-oriented core of C#. From there, it's off to topics like regular expressions, events, string handling, generics and collections (a chapter that's been heavily rewritten from the third edition), ASP.NET, ADO.NET, and more advanced topics including threading and COM interop.

You won't learn everything about C# from this book, but you will learn everything that you need to know to write and understand the average C# program and then some. With all those C# books collecting dust on my shelves, this one goes right next to the desk, replacing my well-thumbed copy of the third edition. I've grown to appreciate Liberty's clear explanations and succinct examples, and this is the book that I consistently turn to when I can't quite remember the C# syntax for something or the obscure way in which some part of its object orientation works. If you're a reasonably experienced programmer and want to invest in just one book to learn C#, this is the one.