Sams in the past have come into a lot of criticism for their C++ in insert unrealistic number Days and most of the time, it is well founded. As such, they have had a rough ride in the book reviews.
This time, they have a fantastic book. It makes one assumption (which is fair enough given that it is aimed at intermediate/advanced level) and that is that you're coming from a C++ or Java background. That said, if you're fresh in with a bit of brains, you should be able to follow the book.
The book covers the language in great depth with plenty of good examples with clear, concise explanations of the code. Every aspect of the pure language is covered with tips and hints for C++ and Java programmers.
It is not a light book, weighing in at a mighty 820 pages (or so) and many would be thinking that it's quantity over quality. This is not the case here. Take the sections on file handling. An entire chapter is given over to this subject (around 40 pages) with even more later on in the book. Even in some of the best C, C++ and Java books around, I have not seen this much given over to the file handling routines.
As it is the pure language that is covered (for the most part), the book is an invaluable resource for those using GNU .NET and Mono. Towards the very end of the book, it begins to cover the Windows specific parts, however, these parts are described and explained as well as the pure language part, so when the Windows parts are finally available, the use of these parts will be have already been covered sufficiently.
The source code from the website is clear and well documented.
There is only one drawback with the book - it doesn't tell you how to compile the source code from the command line; it is assumed that you will be using the Visual Studio IDE (and debugger). While I don't have that much of a problem with this as such, having the command line compilation command would given the book that little bit extra.Other Programming