tags:

views:

6601

answers:

19

What are your top 3 all-time best C# .NET books? And why?

They could be for specific areas of .NET or be more general books.

+47  A: 

I really like

  • CLR via C# by Jeffrey Richter because of all the details about how not only C# but also the CLR works. 3rd edition adds a lot of useful info on threading and the new parallel extensions.
  • Professional .NET 2.0 Framework by Joe Duffy is very similar to Richters book, so I like it for the same reasons. Unfortunately it is somewhat dated now.
  • C# in Depth by Jon Skeet is an excellent treatment of all the stuff that the two others do not cover.
  • The C# language specification (get the book for the annotations). A must read.

To name another good book: Essential C# 4.0 by Mark Michaelis. Very thorough. (EDIT updated to new edition)

And C# 4.0 in a Nutshell. Excellent reference. (EDIT updated to new edition)

Brian Rasmussen
Thank you. That is a pretty comprehensive bunch of books I haven't looked at too deeply yet.
Alex Baranosky
Any book by Jon Skeet is worth its weight in gold.
David Basarab
IMO if you haven't read CLR via C# cover to cover, and understood it, you probably aren't an expert C# programmer. +1.
Dave Markle
@Longhorn213: Fortunately C# in Depth is quite light :)
Jon Skeet
@Jon Skeet, so at about 1.5 lbs and about $8000 per pound for gold, your book should cost me a mere $12000, roughly.
Alex Baranosky
@Jon Skeet, Great book. The best way to know something is to know its evolution, you paved the way.
smwikipedia
@smwikipedia: You're very kind. I'm definitely pleased with the book, imperfect though it obviously is. I just want to get the second edition out of the door now...
Jon Skeet
A: 

I like Rocky Lhotka's Expert C# 2008 Business Objects. It's a good treatment on developing and using a business framework.

Dave Swersky
+2  A: 
  1. HEAD FIRST C#

    this is a really good book for beginners with an alternative learning approach! :)

  2. Programing C# 3.0

thats i think a real reference for beginners as well as for advanced programmers!

cordellcp3
+5  A: 

C# in Depth And

The C# programming language

Rik
A: 

The books already posted are excellent. However, I think C# 3.0 Pocket Reference by O'Reilly is also valuable for quick reference and my carry anywhere book.

JTA
+4  A: 

I really like C# in a Nutshell - O'Reily

Arjan Einbu
+4  A: 

I'd concur with the recommendations for C# 3.0 in a Nutshell and Accelerated C# 2008, and also add Essential C# 3.0 by Mark Michaelis. (No time to look up links right now, I'm afraid.)

I have reviews of various books, mostly C#-based, on my blog in the Book Reviews tag. Obviously I'm not entirely unbiased on this matter, but what matters to me most is accuracy. That was my biggest gripe with both Head First C# and Programming C# 3.0. I know that most of the errors are now fixed in Head First C#, so if you get a recent printing you should be okay. It's not my preferred style of book, but that's a matter of personal preference. I don't know whether there have been any more printings of Programming C# 3.0.

If you want detailed CLR information, CLR via C# is truly wonderful.

Jon Skeet
+1  A: 

CLR via C#,

C# in Depth - thanks Jon!,

Programming .Net components by Juval Lowy.

pmlarocque
+11  A: 

Perhaps not so obvious but I think that Joshua Bloch's Effective Java 2nd edition is an outstanding book for C# developers. While some of it may not be directly relevant to C#, most of it is very applicable. It's well worth the read.

dpp
nice out of the box idea.
Alex Baranosky
+1: It's a wonderful, wonderful book. It's also interesting to see some of the twists and turns required in Java which aren't a problem in C#.
Jon Skeet
I just read it. Thanks for the suggestion.
Alex Baranosky
+1: Great book. It will tech you how to design a good API (not only in Java).
Jacek S
Jon - I'm wondering if you've looked at Wagner's Effective C# books, and if you believe they are a reasonable corollary to Bloch's or if one should just consult the source directly.
Tristan Havelick
+1  A: 

Not as indispensible as Scott Meyer's original series for C++, but Effective C# is still a worthy read once you have mastered the basics.

There is also a More Effective C# too, now, but I haven't read that to be able to recommend it.

I think beyond those, and more advanced or specialist works like Ritcher's CLR book (already mentioned) the best place to keep current are the various blogs.

Phil Nash
A: 
  • Programming C# By Jesse Liberty (A good book I used to learn, and still refer to several years on for a refresh on certain topics)
  • CLR Via C# By Jeffrey Richter (Good book for understanding how the lower level internals work)
  • C# Cookbook By Jay Hilyard and Stephen Teilhet (Handy for finding a quick solution in the midst of a project)
  • Effective C#: 50 Specific Ways to Improve Your C# By Bill Wagner (Good read if you've been programming for a while)
Saqib
+1  A: 

The C# Programming Language by Anders Hejlsberg

pfunk
A: 

Check out my list of good recently published books related to .NET development:

http://www.riaguy.com/books/

Koistya Navin
+6  A: 

Richter: "CLR via C#"

Troelson: "Pro C# 2008 and the .NET 3.5 Platform"

Albahari & Albahari: "C# 3.0 in a Nutshell"

Hejlsberg, Torgersen, Wiltamuth, & Golde: "The C# Programming Language, 3rd Ed."

Robbins: "Debugging .NET 2.0 Applications"

Lowy: "Programming WCF Services, 2nd Ed."

No self-respecting C# programmer can pass over Richter. This will give you a profound understanding of .NET at the "systems" level. Foundational.

Albahari & Albahari is an absolutely terrific and complete discussion of C# along with basic FCL facilities like networking, collections, Etc. Could serve as a good intro for experienced programmers but will also be great for experienced C# programmers. No coverage of extended FCL classes though.

Troelson is a standard introductory text and very good. It does not cover things in the Nutshell book in nearly the same depth but does provide much information on the broader FCL libraries, how to create and develop various application types, etc.

Hehlsberg et. al. is a pretty good reference. Mostly an annotated version of the standard. Not required but good when you really need to know how something is defined in the standard.

Robbins has published the essential Windows debugging books for years. This one for .NET is just as essential.

Lowy's book is obviously more specialized than the others, but deserves mention as one of the outstanding technical books available. If you want to do WCF you must have this.

+4  A: 

Effective C# - Good summary of best practices dos and don'ts

More Effective C# - More dos and don'ts but updated for 3.5 covers multi-threading and linq

Pro C# and the .Net 3.5 Platform - A look at every part of the framework. Also it's a nice looking hardcover book.

I'm assuming that an introduction to C# book isn't required.

JSmyth
+1  A: 
RossFabricant
A: 

For C# language fondamentals Programming C# 3.0 it also covers some advanced topics (threading , P/invoke ...)

To learn more advanced stuff have a look at CLR via C# ( i think anybody who uses c# should read this book!)

Yassir
+1  A: 

I learnt from "Pro C# 2008 and the .NET 3.5 Platform" and I definately recommend it! Though I'm sure theres a newer version coming out shortly.

Kurru
A: 

I quite like:

Vladimir Kocjancic