What are some good exercises that an intermediate/advanced VB.NET web programmer should to do gain syntax chops on C#?
I imagine some good examples would be:
- algorithms or project exercises that run the gamut of C# syntax
- reference material
- list of the key syntactical differences that VB.NET programmers should be aware of
Wikipedia has a great article on this:
http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET
A good excercise would be trying to understand other people's C# code snippets, and reproducing them yourself from scratch. This means that you'll encounter lots of stuff you need to look up and learn in order to understand to see what those snippets are doing.
The good news is that, both in C# and VB.Net, the .NET framework does most of the heavy lifting, so you'll probably understand and recognize those parts. I use both C# and VB.Net in my job and I've come to realize that, because of the shared framework, the languages aren't that different from each other in practice.
I still like C# better, since I feel it results in cleaner code, somehow.
Practice forgetting VB.NET [:)], then learn C# as a usual person would learn. I don't think VB.NET-coders have some special way of learning C#... You'll just be familiar with the .NET class library, it's a plus.
I made the trasition by taking one of my hobby projects that was done in VB.NET and re-write it in C#. That got me started in a good manner; learning the syntax while working in a known problem domain, while also providing real-world problems to solve.