I know there are plenty of books on C#, but I'd rather learn by reading articles/guides and watching video tutorials. Would Microsoft's MSDN website be enough to teach myself C# in depth?

Thank you.


@Jon Skeet: Thanks for your honest answer. I might just do that then, - I'll get Table of Contents from a C# .NET book and then go through each topic on MSDN.

Thanks again to all of you. I wish I could mark everyone's answer.

+1  A: 

MSDN comprehensively covers all aspects of C# and the .Net platform. so Yes MSDN is sufficient to learn C#.

this. __curious_geek
+2  A: 

IMHO this will depend on your general programming level. If this is your first encounter with programming I think that a book would be better than MSDN. If on the other hand you have experience with similar technologies such as Java there's no reason MSDN wouldn't be enough as it contains extensive documentation, many tutorials and samples.

Darin Dimitrov
+1  A: 

I would say so too, but only as a reference. That's what I did, and still do.

Edit: It might be hard for a beginner, but not impossible.

+1  A: 

I think MSDN is a very good place to teach yourself C# in depth, that being said I don't think it's a good source to get you started.

Let me explain... MSDN is a great place when you want to work out how things work and why, what other options are there and all the rest of little details other sources usually overlook, but can be important. However, I think it lacks a certain "get up and do something meaningful" attitude you are looking for when learning a new language.

Just my 2 cents worth though.

+1  A: 

Though I personally didn't learn it that way, there are some excellent resources on the MSDN now vs when I started with .NET.

In general, if you're going to learn C# from the MSDN, your launchpad will be here. If you're new to programming in general, here looks like a good place to start.

+6  A: 

All the information is there, yes. Heck, the C# specification is available there, so that's all you need, in theory.

However - and I'm biased as the author of a C# book, of course - I believe that books add value by giving you a structured learning experience. Authors put a lot of time into working out the order in which to introduce concepts so that it makes the most sense.

Of course you could just take the table of contents from a C# book and then look up bits of MSDN in that order - but a good book will lead you through in a more orderly manner, building on examples and areas you've learned before rather than treating each one individually.

Jon Skeet
+1... MSDN is sufficient however it may not be the fastest way to get there. You would need to cherry pick the right links and hit them in the right order (which may be difficult for a newbie) to get the most out of your time. Books already do that... they present topics in a certain sequence that (should be) is proven to have a nice learning curve
+1  A: 

As far as I see it, there are articles about how to do things and articles about classes/methods, etc.

Some of the examples in articles about a class or method aren't enough for you to say that you know them and don't discuss everything, so I'd say they're a starting point - together with blogs and articles and tutorials on other sites you will probably get a lot more information.

The articles about how to do things, that start with a problem and show how to solve it, are ok and clear (or at least the ones I've read).

It also depends on what you already know and what you're building on.