Personally, my advise, if you are starting programming for the first time,Thompson Netg C# 1.0 training and it was the best example of syntax and explanations I've seen over anything else I've read. I've read probably 20 books and every free video online imaginable and it wasn't really till that course that I started understand more advanced topics of C# coming from no programming experience. If you truly want to learn, read every book you can find and look at other peoples code(codeproject.com). Sit down and work through some of the popular names spaces and classes and try to learn as many as possible. Expect to spend a few years practicing and reading to get to a professional level. I will tell you this, the pay is well worth it!