Applied Microsoft .NET Framework Programming is a tutorial. It’s meant for programmers who already know an object-oriented language and want to apply their knowledge in the standardized environment provided by the Microsoft .NET Framework.
The book, written by Jeffrey Richter, a programmer and the .NET columnist at Microsoft’s magazine for its developer community, takes a more or less language-agnostic approach to the run-time environment (though many illustrative examples are in C#). It aims to untangle the Common Language Runtime (CLR) and some of the Framework Class Library (FCL), and generally succeeds, particularly at the former. Richter shares his knowledge of the key classes you can instantiate in the CLR, and the kinds of operations you can perform on and with them.
You can read this book, or individual chapters, from beginning to end. You’ll probably find it more helpful, though, if you read individual sections as you encounter problems or develop an interest in specific aspects of the CLR (ideal for those middle-of-the-night “I wonder how it does…” questions).
Richter typically lets his code do most of the talking, and he’ll often introduce a section with a prose summary of the CLR way of doing something (sometimes with a supplementary diagram) before unleashing a string of quick examples that illustrate variations on the theme. In an unusual and helpful tutorial move, he makes heavy use of the ILDASM utility to show what goes on at compile time.