Stack OverflowWhat are the best C# books?
[+127] [20] Alex Baranosky
[2009-01-25 14:26:12]
[ c# .net books ]

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

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

(2) I thought there will be answer here from Jon Skeet like: Mine ;) - prostynick
(6) Bravo moderators! 109 ups and closed as not constructive :) - reecon
Yeah, the moderators are sometime to arrogant in their approach. - Michael Mortensen
[+122] [2009-01-25 14:32:18] Brian Rasmussen [ACCEPTED]

I really like

  • CLR via C# [1] by Jeffrey Richter because of all the details about how not only C# but also the CLR works. 3rd edition [2] adds a lot of useful info on threading and the new parallel extensions.
  • Professional .NET 2.0 Framework [3] 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 [4] 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 [5] for the annotations). A must read.

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

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


Thank you. That is a pretty comprehensive bunch of books I haven't looked at too deeply yet. - Alex Baranosky
(22) Any book by Jon Skeet is worth its weight in gold. - David Basarab
(6) 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
(6) @Longhorn213: Fortunately C# in Depth is quite light :) - Jon Skeet
(15) @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
I would have to say "C# in Depth" by Jon Skeet. I just purchased it a few days ago, since i got tired of books repeating the same thing over and over again. I'm at page 12 now and I learned SO MUCH. This is exactly, exactly what I was looking for: examples that compare and explain C# versions and telling you precisely what each version improves. Spot on. Thanks a lot, Jon! - Andrei Cristof
[+30] [2009-01-25 15:14:20] denis phillips

Perhaps not so obvious but I think that Joshua Bloch's Effective Java 2nd edition [1] 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.


(4) nice out of the box idea. - Alex Baranosky
(5) +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
[+18] [2009-04-07 21:49:05] Dennis L Hughes

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.

Could serve as a good intro for experienced programmers but will also be great for experienced C# programmers. what does this mean? - nawfal
[+14] [2009-01-25 15:07:32] Jon Skeet

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 [1]. 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.


(1) I bought your C# in depth book.First chapter over - Learner
[+7] [2009-01-25 14:33:46] Rik

C# in Depth [1] And

The C# programming language [2]


[+6] [2009-04-07 22:01:46] JSmyth

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

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

Pro C# and the .Net 3.5 Platform [3] - 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.


[+5] [2009-01-25 14:57:01] Arjan Einbu

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


[+4] [2009-01-25 14:33:33] cordellcp3
  1. HEAD FIRST C# [1]

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

  2. Programing C# 3.0 [2]

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


[+4] [2011-05-11 14:54:37] Bassam Alugili

C# 3.0 in a Nutshell and C# 4.0 in a Nutshell. In my opinion, this book is the best book for beginners and professionals.

Albahari is a great man. For me this book is goddess of inspiration.

  • The code and the examples very good tested
  • Most of C# writers copy everything from MSDN. in Nutshell you can find more information and you will see that the explanations are very clear and simple and in most cases, more informative than MSDN.

[+3] [2009-01-25 16:16:44] philsquared

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.

[+3] [2009-02-06 21:09:12] pfunk

The C# Programming Language [1] by Anders Hejlsberg


+1 for this - it's an awesome book. Basically the C# specification, but annotated by the creators of the language, and various MS legends - ozziepeeps
[+3] [2009-04-07 22:02:58] RossFabricant

alt text

LINQ In Action is a good reference for LINQ.

[+2] [2009-01-25 15:11:57] pmlarocque

CLR via C#,

C# in Depth - thanks Jon!,

Programming .Net components by Juval Lowy.

[+2] [2009-01-25 16:38:54] Saqib
  • 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)

I learned a lot of good basics from C# Cookbook when I was starting out. - Terrance
[+2] [2010-03-25 15:19:36] Kurru

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.

[0] [2009-01-25 14:32:46] Dave Swersky

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


[0] [2009-01-25 14:57:00] JTA

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


[0] [2009-03-25 21:50:40] Tarkus

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

[0] [2009-04-07 22:25:05] Yassir

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

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


[0] [2010-07-13 13:04:27] Vladimir Kocjancic

I quite like: