Coming from a Java background, and with obvious prejudices against Microsoft I have taken much care in the choice of this book. I knew it was from an expert MS author with many titles in his belt and a highly acclaimed technical instructor, so I was expecting an outstanding text. Well, I am very disappointed. While techically accurate and covering a large amount of topics, this book has been a pain to read even for a very interested and curious programmer like me. The writing style is annoying at best, the author makes a mouthful out of every simple and straightforward concept. It really looks like deep inside he feels that explaining a concept in less than 10 lines is a sin. It also reminds me of that typical annoying student who kows lots of things superficially but never seems to get the real point about what they mean deep down. Also, this book is an hybrid between a reference and a tutorial: at the start of every topic you are invested with reams of interface code and reference tables, and only after you wade through all that you finally get to some simple illustrative examples. My personal taste and experience as a techical instructor tells me it should be the other way around. Finally, the breadth of the topics covered (from the very basics of the language & OOP, to Window Forms, to Remoting, to ADO.NET, to ASP, Web Services etc) is way too much to be treated decently ina single book, even in a big one like this one. And the very redundant writing style of the author makes things even worse. I would much prefer that this book covered less topics but in more detail and depth, or that it was split in two volumes, like Core Java.
I am under the impression that since C# is a proprietary language it is being avoided by university professors and hackers, so even if it is a definitely well conceived language it is going to lack a lot of the intellectual support in training and tutoring that comes with other languages like C++ or Java.