Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I just got a position at a big, well-known C#/.NET company. The thing is that I don't know any C# or .NET at all (they know that) and I want to learn as much as I can before I start, to not waste time (and money).

How do I learn C#/.NET quickly and efficiently? Resources? Great tutorials? Videos?

EDIT: I forgot to mention that I have a couple of years experience with Java. So I am not new to programming - just new to .NET.

UPDATE: Thank you for all your replies. I have ordered "Essential C# 4.0" and until then, I will go through some of the guides / tutorials and the general documentation at MSDN.


locked by World Engineer Sep 12 '14 at 3:02

This question's answers are a collaborative effort: if you see something that can be improved, just edit the answer to improve it! No additional answers can be added here

Do you have any programming experience at all? – Mongus Pong Jun 28 '11 at 15:40
You know Java already? s/toString/ToString and you're done. – Jordan Jun 28 '11 at 19:31
1 it might help – user Feb 22 '12 at 17:56
up vote 20 down vote accepted

Download Visual Studio Express (its free and comes with everything you need to get started) if you don't have any of the tools already and start by trying to accomplish something. Do a tutorial or three, but then go for a goal and build a project that does something. You may spend the next week searching non-stop on Google but hey - isn't that programming?

This will get your feet wet, get you familiar with the IDE and working with a database in C#, and will teach you how to solve problems in C# better than any set of videos or tutorials ever could.

The following are a list of commonly accepted videos and tutorials that may help though:

+1. Programmers learn by doing. For example, I only truly learned OOP and MVVM and other architectures/patterns by cutting my teeth on some real projects, writing some truly awful code, gradually improving on it, running up against various limits and corners that my initial rookie practices caused me to paint myself into, and finally realizing the usefulness of such patterns. – Aphex Jun 28 '11 at 19:04
Though a little dated now I still recommend C# for Java Developers. – Kelly Thomas Sep 12 '14 at 4:50

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