I feel bad giving this three stars, given that all but one of the other reviewers gave it five, but I was really disappointed in this book.
First impression is that the book is a monster. Weighs a ton, and so presumably contains wads of information. Well, not really. It contains a lot of words, but to be honest, I didn't feel it went into depth on anything.
The book is split into sections:
1) The .NET framework. I found this rather dull. I'm a programmer, and am not really that interested in what goes own down in the depths of the framework. I don't mind a brief description, but this bit was too much for me, but not enough to be a thorough examination of the subject. I rarely, if ever, need to think about the framework itself. I write in C#, I use Visual Studio, and let the IDE handle compiling and linking for me.
2) Basic C#. Fine if you're new to C#, but I'm not, and I suspect most people reading this book won't be either. Oh, if you are new to C#, you probably won't follow much of this, as it doesn't teach C#. I was left wondering who this was aimed at.
3) Advanced C#. I'm obviously a better programmer than I thought, as I didn't find much of this very advanced at all. Interfaces and events are hardly advanced stuff. The one part that really interested me was the section on lambdas, which is something I really want to understand. That was too brief and shallow to be of much use, and didn't really cover much more than I knew from a brief look at sample code around the web.
4) Configuring .NET assemblies. Like the first section, I can't see why I would need to know this stuff. This is the sort of subject that very few people would want to know, and those that did would probably want more detail. I skim-read most of this section as I was bored.
5) The .NET classes. This went through various areas of the class library that comes with .NET, and was a mixture of stuff that's obvious of you've been using .NET for any length of time and a few extras. I did learn some stuff here, but not that much. To my dismay, it included a whopping 125 pages on ADO.NET, which puzzled me as I don't see many people using it on new projects nowadays. With the advent of the Entity Framework (which is covered, but not in much detail), who writes SQL any more? OK, so maybe some people do, but I see most new project development using EF, as it's way better.
6) WPF - This was actually pretty good. I had only had a cursory look at WPF before, and hadn't got the hang of it. This was a nice introduction, but to be honest, it would have been far better to have spent the money on
Pro WPF in C# 2010 (Expert's Voice in .NET), which is slightly thinner (although not much), but is a first-rate book aimed at WPF.
7) ASP.NET. Again, not much new here. Maybe if you've never done it before it would be good, but if you've spent any time writing ASP.NET web sites, you won't find much here.
So, I was very disappointed with this book. I think I would have been much better off with the Pro WPF book and a book purely on C#. Most of this book would have been better of staying as trees for my part.