The C# team posts answers to common questions and describes new language features
The choice between C# and VB.NET is largely one of subjective
preference. Some people like C#'s terse syntax, others like VB.NET's
natural language, case-insensitive approach. Both have access to the same
framework libraries. Both will perform largely equivalently (with a few
small differences which are unlikely to affect most people, assuming
VB.NET is used with Option Strict on). Learning the .NET framework itself is
a much bigger issue than learning either of the languages, and it's perfectly possible
to become fluent in both - so don't worry too much about which to plump for. There are,
however, a few actual differences which may affect your decision:
Catch ... When ...
Despite the fact that the above list appears to favour VB.NET (if you don't mind waiting for Whidbey),
many people prefer C#'s terse syntax enough to make them use C# instead.
[Author: Jon Skeet]