Practical .NET and C# 2
I came across some praise for a new C# title “Practical .NET2 and C#2” by Patrick Smacchia. This book recently joined some other C# books in my bookshelf alongside books by Richter, Sells, Box, and so on.
The book is very well-written and very comprehensive, covering the common language runtine, the C# language and the framework in 800 pages. The author put a lot of energy into this book, and it shows with a lot of deep insight and behind the scenes information on how features work, including, for example, Reflector screenshots and the generated IL output for a feature. I find myself reading sections on topics I am very knowledgeable to see if there was any information that I missed.
Patrick Smacchia is a Microsoft MVP and created the .NET freeware command line static analysis tool NDepend. The tool allows .NET developers to obtain a unique understanding of any managed application. Visual NDepend, a graphical version of the tool, is currently being released as an alpha. A screenshot is below:
Although I am somewhat partial to this book, since the author reads my blog and borrowed some of my ideas on iterators, this is a really great C# book. (He also dual majored in mathematics and computer science like me.) The first edition of this book, which was only in French, apparently commanded 40% of all French .NET books sold.