C# is way more powerfull than PHP. It's a waste of time learning VB, that is going downhill. C# is the language to learn. If you know Java that will help you more than C/C++. C# has more uses other than web development.
To learn asp.net, you should be a master in c# and for that you should have a good command over c/c++ languages.
If you want to learn asp.net, you should be an expert in c# and for that you should have a good command over c/c++ languages.
Definitely C# over VB.NET - Higher demand for C# in the market, but of course, understand VB enough to read it, as many legacy apps will still be running VB. Things to learn right away in ASP.NET: 1. Master Pages 2. URL Rewrite Module 3. IIS7 / IIS 7.5 4. DataSets & DataTables 5. Postback vs Callback I've been coding .Net since 1.1. I'm currently coding everything in .Net 3.5 and 4.0. Feel free to PM me if you have any q's.
You will have no problem, I came from a java background, and just picked up vb.net when I was working for a company which used it exclusively. I then moved companies and now use c# exclusively. It's very easy to pick up and to move between one and the other. The main thing for .net is to have a good grasp of Object Oriented development and N-Tier architecture. If you have a good grasp of these you will have no problems. Even if you don't there is loads of information freely available on them and they are pretty easy to pick up