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.
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.
I really like
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)
I like Rocky Lhotka's Expert C# 2008 Business Objects. It's a good treatment on developing and using a business framework.
this is a really good book for beginners with an alternative learning approach! :)
thats i think a real reference for beginners as well as for advanced programmers!
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.
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.
CLR via C#,
C# in Depth - thanks Jon!,
Programming .Net components by Juval Lowy.
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.
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.
Check out my list of good recently published books related to .NET development:
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.
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.
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!)
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.