I was really surprised and excited to see CLR via C# Fourth Edition by Jeffrey Richter as part of the O'Reilly Blogger Review Program. I bought the second edition awhile back and considered it one of my indispensible reference books on C# at the time. I have since donated all my programming books to the local library, so I snatched up the fourth edition e-book quickly so I can once again refer to it on my iPad!
CLR via C# Fourth Edition - Reference Book Extraordinaire
The one thing that separated CLR via C# when I first bought it was its phenomenal coverage of internals. A lot of books explain the C# language from a very high level, but few dive deep to expose compiler trickery, myths, gotchas, and real-world use. It's this knowledge of internals that separates the hobbyist from the expert, and CLR via C# does a great job of opening the hood and exposing this knowledge.
This is a developer reference book as it so clearly states on the cover. You won't typically read it cover-to-cover. I will be using it once again to clarify how and why I should write C# when I get stuck. I'll also pick certain parts to read as I wait for the dentist or hair stylist.
This is the fourth edition and it was a great update for me as I was back in the dark ages with the 2nd edition. If you have the 3rd edition of CLR via C# and are wondering whether it is worth the upgrade, I would consult the author's post where he describes the differences. Looks like he has re-written a few chapters on Garbage Collection and the new Reflection API's, added new material for those interested in publishing apps on the Windows App Store, and included new chapters on C# 5.0 features. Given I picked it up for free, needed a good reference for C# on my iPad, and have been a fan of CLR via C# for a long time, this was a no-brainer!
I've been programming in C# for years now so it is difficult for me to say if this is appropriate for beginners. I suspect it dives too deep for the new or casual C# developer. It also is not a book you read cover-to-cover to learn a new programming language. There have got to be more fun and entertaining books on learning C#. This is a book for experienced developers that are building applications that require a deeper understanding of the C# language. Buy it as a companion reference book when you have questions that cannot be answered by more high-level books.
Conclusion
There are a lot of books on C# now, but CLR via C# is one of my favorities from a long time ago. It has great coverage of the internals for those who want to understand the C# language at a deeper level. If you don't have a good reference book on C#, CLR via C# is definitely a good one to consider! Learn more at O'Reilly.