I recently had someone contact me via my blog asking me if there is any key formula in learning the .Net technology. Instead of replying via email I am going to reply here (so as to help more people how may be asking the same question) - hope you don't mind.
In all of my learning of technology (including .Net), I have followed 3 steps:
1. Get a Goal
For some reason I tend to be goal oriented (maybe it was the Anthony Robins books I read). When setting out to learn a new technology or language, it is good to have some goals that you can meet along the way to the ultimate goal - to have learned the technology.
2. Get a Plan
Historically I have purchased books and read them cover to cover doing every exercise and demo in the book - this works for me. Recently I have discovered the study guides to my MCSD exams. These study guides cover A LOT and may work for you. If you are just getting into programming and are wanting to start with .Net, I would recommend Introducing Microsoft .Net - by David Platt. It is a great high level with some detail of what .Net is and some great “simpliest” examples. This will help you get your feet wet. Then I would suggest you get a Professional Wrox book of your language choice (C#; or VB.Net) and read it cover to cover (before you buy the Professional edition, you might want to look at it and the Beginning Edition to see which is the best for you). Once you are through the Wrox book, I would then suggest Coder to Developer - by Mike Gunderloy, in order to put you on the road to doing it right. After that you will be able to find your own way I am sure.
3. Execute the Plan
The best plan with out execution is a waste of your time - so make sure you follow your plan and keep checking that the actions you are doing are stepping stones to the final goal. Chances are you might tweak the goal and the plan a little along the way, but if you find yourself having to make large changes to the plan and goal - you need to stop and revisit what you are doing.
Remember everything takes time. You can't get to 4 years experience any faster than 4 years. If you love developing and you want to work hard constantly at learning you will get there. Above all, look at the stars in the industry - but compare yourself to yourself (ie. how well did you understand that code 6 months ago? or what have you done in the last year?) and keep moving forward.
Good Luck!