I'm a PHP / Java / Objective-C programmer, looking to finally learn some MS technologies, to increase my marketability, etc.

I am looking at these two books, can anyone experienced in the field suggest one over the other, or another book that'd be good for learning C# / .Net, etc? What impressed me about "Pro C# 2010 and the .NET 4 Platform" thumbing through it at the bookstore, was that they explained a whole lot of the inner workings and paradigms of MS, not just the language. I haven't had a chance to look through the other one, and probably won't get a chance.

Here are the two I'm considering:



I know this is a very specific question, but I feel it can greatly benefit others like me, trying to get into some MS tech.

closed as off-topic by gnat, user40980, GlenH7, ozz, Dan Pichelman Oct 14 '13 at 14:04

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, Community, GlenH7, ozz, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.


CLR via C# is a great one. C# in Depth by our local hero, is very good too.

Just be careful, some advanced books might cover mainly the new features of a language, and C# is quite an extensive one.

I also highly recommend PluralSight. It is full of video tutorials, some introductory to C#, and numerous of advanced ones. It is a paid site, though. (I am not affiliated with them, just a happy customer).

  • C# in Depth looks pretty promising, I may have to grab it too! – Josh Oct 13 '11 at 22:42

You need to answer the question "What I want to do with C#"? C# alone is not very useful if you want to get a job or work in a team for a real-life project. You need to know at least one of: ASP.NET, Silverlight, WPF or Windwos Forms. If you will be using a database, you will need to use Entity Framework or a 3rd party ORM.

From your background, you must know OO to some extent, so to get the basics of C# by itself is a first step, and I suggest you get an introductory book specially if you know programming. Then move to a specialized book in one of the above areas. Avoid sinking in the details of C# as a language if you are looking to build a project or get a job, the sea is deep.

  • Well, here is the thing. I live in central Illinois, and have been a PHP / iOS / Android programmer for what should be 4 years this upcoming spring. I work on Linux and OSX no problem, know lots of Apache and MySQL, and know and occasionally tutor C++. However, I'll finally have my degree in the spring, and want to move up to a /real/ programming job, but the only offerings around here (Bloomington, Champaign, etc), seem to be either C# or Java. I already know so Java, but would prefer C# if it is more like Obj-C or C++. So where do I go from there? Or do I even go there? Thanks! :) – Josh Oct 13 '11 at 22:45
  • I would suggest that you focus on your strength areas. If you move to .Net you will throw away a lot of the good tech. you know. If you already know Java and know web + MySQL, you should be able to find a good first job. Focus on this stack and get a job, then, see if that is too bad, go to .Net. Java is on high demand. – NoChance Oct 13 '11 at 23:22


Pro C# is one of my favorite programming books of all time. Definitely get it. I have the 2008 hardcopy version that came with free PDF.


In my opinion neither of those books you suggested are very good. The book by Troelsen seems to be recommended by many, however I didn't really care for it. I found it raced through so many topics, that the coverage of each topic felt too superficial.

I recommend you get a book just on C# to start with. And then pick a type of application such as Asp.net MVC and then get a good book that develops a decent sample application using that technology.

Another poster recommend C# via CLR. I agree that is a good book, and having read an earlier edition, I'm currently reading the latest edition. However I worry it might contain too much detail, and it might be better to choose a shorter book to start with. On the other hand if you are interested in the inner workings of .net it could be a good starting point.

Skeet's book is also good, and you can probably read it without too much trouble. But, from memory, it tends to assume that you are already somewhat familiar with C#, and explores language features introduced in C# 2.0, 3.0 etc in more detail.

You could try something like Essential C# 4.0, but again I have somewhat mixed feelings about the book, as although it is relatively complete and assumes no prior knowledge of C#, as an experienced programmer you might find it long winded.

Good Luck

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