tags:

views:

704

answers:

9

My primary development experience is in Java, although I have some C# experience as well. I have a library of material that I turn to often for those things that you do just infrequently enough that you don't remember the details from the last time you did something similar. The most valuable aspect of this library is that it's large enough to include most of the theory and practice that you need - but small enough that you know how to navigate the entire collection quickly and easily.

Here's a list of my most-used Java material (in priority order, because I'm an engineer, and I order things...). Can you recommend equivalents for the C# world? What categories am I missing?

  1. Effective Java. Bloch. API-level patterns and anti-patterns in Java. (the most important book on my shelf, hands down.)
  2. Java Concurrency in Practice. Goetz. Concurrency - both theory and Java practice.
  3. Java Generics and Collections. Naftalin. Can't remember for certain which implementation of Set you should choose for this particular task?
  4. Headfirst Design Patterns. Freeman. Can't quite get your head around how to implement that really cool pattern from your Smalltalk days without Closures? Examples here are in Java (otherwise GoF is better.)
  5. Java in a Nutshell. Flanagan. I know...it's in the JavaDocs. But sometimes I'm a dead tree snob, and need to stop staring at my monitor for a minute while I look something up.
  6. JDBC API Tutorial and Reference. Fisher. This one is probably on the shelf (and used significantly) because I did some work on an ETL system. Probably not as widely applicable.
  7. Ant. Holzner. Build scripts. Love and hate. You get one done, and don't think about them again for a year. Again - I know...it's on the web. Again, occasionally I'm a dead tree snob.

Other similar questions:

http://stackoverflow.com/questions/72893/whats-the-best-way-to-learn-c-quickly

http://stackoverflow.com/questions/327332/what-should-a-non-cs-grad-learn-to-be-good-with-programming-languages-like-c

http://stackoverflow.com/questions/172917/best-intermediate-level-c-reference-book

http://stackoverflow.com/questions/446743/best-book-to-get-intimately-familiar-with-the-net-framework

http://stackoverflow.com/questions/561481/learning-c

http://stackoverflow.com/questions/189225/a-good-c-book

+16  A: 

Also consider:

If you're interested in threading:

Apologies if anyone takes offence to the self-promotion, btw.

Jon Skeet
A: 

The C# Cookbook is decent.

jotham
It sounds like the questioner is already beyond the audience that Head First C# is aimed at, really. However, if he *does* buy it, I'd strongly suggest making sure he gets the latest edition. Earlier ones had lots of errors. I believe it's *much* better now.
Jon Skeet
You're right, editing it now.
jotham
+4  A: 

I would concurr with all of Jon's (I bought his book shortly after hearing him on .Net Rocks, and it is excellent) responses and add:

  • Effective C# (Wagner) - A little dated, but still full of useful information.
  • More Effective C# (Wagner) - Covers C# 2.0 and 3.0 with very good guidance.
  • C# Programming Language (Hejlsberg, Torgersen, Wiltamuth, Golde)- Note quite the K&R of C#, but still a good reference.
Kris Erickson
I was getting there - Looking up all the Amazon references took time :)
Jon Skeet
A: 

although it could be considered somewhat out of date, i would recommend Joe Duffy's excellent Professional .Net Framework 2.0

it has quite an overlap with Richters book but of the two i prefer Joe Duffy's book personally.

Matt
A: 
  • C# Pocket Reference (Oreilly)
  • Agile Principles, Patterns, and Practices in C# (Robert C. Martin)
AJM
A: 

A must have Advanced .NET book (I strongly recommend) : Juval Lowy's Programming .NET Components

Canavar
A: 

All around progamming style book:

Code Complete 2

A: 

I have been searching on C# books for a while now. Most of what is in the market if fine. Start with Microsoft Visual C# 2008 Step by Step and move to O'Reilly books. Strongly advice to avoid C# 3.0 Unleashed. It is full of wrong stuff.

Ali