Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

A friend asked me this

Which book would you suggest for a newbie who wants to learn C# programming? This newbie understands basic programming concepts such as looping, data structures such as Arrays, Linked list, Stack, Queue etc.,

And I was lost for answer. Any suggestions?

share|improve this question

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer: please explain why you're recommending it as a solution. Answers that don't explain anything will be deleted. See Good Subjective, Bad Subjective for more information.

closed as not constructive by Mark Trapp Dec 9 '11 at 20:46

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

8 Answers

up vote 4 down vote accepted

"Microsoft Visual C# 2008 Step by Step" by John Sharp is terrific. It is a bit dry, but will get you through quickly and fairly thoroughly. For someone a little more right-brained, I would recommend "Headfirst C#" which is published by O'Reilly.

share|improve this answer
1  
I will recommend it. And as soon as I get reputation of 15 points, I will come back and up vote it. – Kanini Oct 12 '10 at 7:03
2  
I would also recommend "Headfirst C#" however have a quick look at a "Headfirst" book before buying. Some people do not like the way it teaches the subject. IMHO l think there excellent :-) good to know there are books on programming that have a sense of humour! – BobF Oct 12 '10 at 7:29
BobF: OMG! Do they have a HeadFirst C#? I never knew. I am buying myself a copy! Big Fan of the HeadFirst series. Thanks for letting me know that a HeadFirst exists for C# as well. – Kanini Oct 12 '10 at 8:24
Learned everything from the headfirst series. :) Most of my classmates found it terrible though..Don't know why.. – Emerion Oct 12 '10 at 10:22
1  
Headfirst is great if you want to dive in and benefit from a hands on approach. It does not make a particularly good reference book, however like Step by Step. – Morgan Herlocker Oct 12 '10 at 22:26
show 1 more comment

"MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework Application Development Foundation, Second edition [Hardcover]"

It is a well written book, and the examples are in C# and VB.NET. The book will also guide you to pass your MCTS Exam 70-536 which is a requirement for all your programming Microsoft MCTS certifications.

share|improve this answer
Riaan: Thanks much. However, is it not for people who already know a little bit of C#, how-to-use the Visual Studio, how to fix variables and so on? – Kanini Oct 12 '10 at 8:14
1  
Well, yes and no. The first couple of chapters explain what types, variable, properties, structs and classes are. Have a look at the 1st pages of the book on Amazon: amazon.com/dp/0735626197/… – Riaan Oct 12 '10 at 9:25

Jon Skeet's C# in Depth. Hands-down the best plain-English book which starts from the basics and dives into advanced concepts when you're ready.

share|improve this answer
1  
+1 for the skeet – Muad'Dib Oct 12 '10 at 16:32
1  
Jesse: Thanks! However, Jon Skeet assumes that you are fairly confident with C# 1 and then takes you deeper into C# 2/C# 3 right? I have upvoted it, but not marking it as an Accepted Answer because of that reason. Hope that is OK with you. – Kanini Oct 13 '10 at 8:55
4  
Indeed this is an excellent book however Kanini is write that a solid understanding of C# is required. Jon points out at the beginning that the book is designed for people that would feel confident getting a job as a Junior C# developer. – Mike Dec 3 '10 at 4:34
Why the downvote, downvoter? – Jesse C. Slicer Jun 5 '12 at 17:33

Ricter's CLR Via C# is fairly advanced by probably the best all-around book for the .NET runtime as well as the C# language. I'd suggest it to anyone who knows how to program as an intro book.

share|improve this answer
Kevin: Thanks. Will check it out. – Kanini Oct 13 '10 at 9:19
Although this book is invaluable I don't recommend it as the first book in .NET. It will only confuse the reader initially. This book is a must read when one already knows how to program in C# – Sorantis Feb 2 '11 at 23:06
@Sorantis: I disagree. If you already know how to program in some other language then I'd I'd posit that CLR via C# is probably the best bang for the buck. It's not really very hard, but at the same time doesn't spoonfeed. Again: key concept here is 'experienced programmers'. I totally agree i/r/t noobs. Not a beginners book. but it is a good book for those who already know, for example, Java or Python. – Kevin Won Feb 4 '11 at 19:45

Essential C# 4.0.
This book has everything you need to learn c# and you can use it as a reference.

share|improve this answer

Visual C# 2008 How To Program, published by Deitel. All books they produce have excellent exercises and explain things well while encouraging you to code as you learn, and build on existing knowledge as you gain it.

share|improve this answer

O'Reilly's "C# 4.0 in a nutshell" is well written and useful http://www.albahari.com/nutshell/

share|improve this answer

I was technical editor of Sams Teach Yourself Visual C# 2010 In 24 Hours by Scott Dorman. The title is awful but the book really is quite good. What I like about Scott's book is he introduces the topics in a sensible order. Many "beginner book" authors introduce topics in the order they learned them, which isn't necessarily the best way to do it. Books like that tend to treat beginner C# as though it were C, because lots of book authors learned C before C# and they still think of that as "how to program for beginners". Better to think of C# as C# and figure out what beginners need to know for C#.

share|improve this answer
+1 for Better to think of C# as C# and figure out what beginners need to know for C# – Kanini Jan 18 '12 at 11:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.