C# In Depth
Essential C# 3.0 for .NET Framework 3.5
How are these books? I've been doing a bit of work in C# lately and really enjoy it.
[*The Author of the first book refers to C# not by 1.0+, 2.0, or 3.0, but simply as C# 1, 2, and 3. For the purposes of brevity, I'm doing the same here.]
I'm primarily reading through the first one now, and it's pretty good. The supposition regarding the reader is that you're experienced with C# 1 and are wanting to transition to 2 and 3, although that isn't necessarily true with me. I've worked mostly in 2 with more recent code done in 3 (when I can, one of our largest clients still runs a 2 website), but have had to do some limited 1 work because of some legacy sites.
As a result, the book hasn't necessarily covered new ground so far (particularly since I'm still in the C# 2 section), but it is providing a more detailed understanding of functionality I have already been using and presenting ideas of implementations that I've frankly never thought about.
The one drawback is that the book often uses terminology and general concepts that I am sadly not up to speed on and doesn't really put forth an effort to put things in proper english. It's not for the novice programmer, and I can only assume someone from a proper CS background would be better at dealing with the specific jargon.
One thing is for sure, it will cause you to think and to grow as a C# developer. If there are pieces of the language that you are not using or do not know well enough, this book will likely change that. I have a new purpose in life, or at least a new subpurpose, and that is simply to become a better programmer. This resource, the various blogs I'm following, and general trial and error are helping me to achieve that goal.