C# 5.0 In a Nutshell

Joseph Albahari & Ben Albahari, O'Reilly Media

DISCLAIMER: I received this book for free as part of the O'Reilly blogger review program. I promise this hasn't changed my opinion :)

C# 5.0 in a Nutshell
I've been coding a lot more in C# recently as a result of doing it at work and mocking up some tests for Blitz Logger. Whilst I'm comfortable with the basics of C#, I came to it from a combination of VB and C and never really had a formal education in the language.

I therefore decided to have a look at C# 5.0 In a Nutshell as a "desktop" reference - In effect a digital copy on my phone or PC I can flick through when I want to know about a specific language feature.

The first thing I did when I got the book was have a flick through the contents. The book seemed fairly comprehensive with most of the language features I knew about and a couple I didn't. You'd probably expect this as the book weighs in at about 1000 pages!

I browsed through the chapter on LINQ to SQL and the one on Reflection and Metadata. They seemed pretty well written in clear language with lots of short examples. In the PDF the table of contents is all hyperlinked so you can click on an item and go directly to the section.

"Great," I thought, "this will be handy!"

Then I put the book down and forgot about it for a few months.

You see I had stumbled upon one of the fundamental problems with reference books in the internet age - what presumably keeps publishing executives up at night - a book is much harder to use than the internet! When I have a problem its normally a very specific one. For instance, something along the lines of:

How do I use BeginInvoke again?

Sure I know vaguely what I'm meant to do and how it works but for some reason the exact syntax never stays in my head. In the time it takes to find the PDF of the book, open it and somehow search the for BeginInvoke (which I can't do on my phone by the way) I could have found three or four possible solutions on StackOverflow. Books are just so inefficient!

Perhaps things would be different if I had splashed out for a paper copy, but then again I can't really see myself putting down the keyboard and mouse and thumbing through such a weighty tome. If i have a specific question, I want the answer NOW! (Plus, 1000 pages!! Think of the trees!)

Maybe 10 years ago, this book would have been the bees knees. Its comprehensive, well written and has a solid index and table of contents which makes searching relatively easy. I just couldn't work out how to fit it into my workflow.