Liberty's Programming C# is not only well written, it is a complete and thorough primer on C# programming. He begins with a terrific tutorial on the language, taking you through all the fundamentals, and making sure you are comfortable with class, interface, struct definitions and usage. He does not assume you already understand object oriented programming, but teaches the concepts as you need them.
The second part is a good introduction to using C# to program .NET applications, including web services, web apps, windows applications, and the use of ado.net
Part three is a real treasure. Here Liberty teaches the advanced concepts that are difficult to find elsewhere. He explains attributes and reflection, remoting, streams, asynchronous i/o, threading and so forth.
The examples in Prog. C# are excellent; well thought out and on point. Liberty provides source code and other material on his web site.
I can't recommend this book highly enough.