I think that as of the .Net 2005 version the only differences will be
C# - Full pointers, bit shift operators, unsafe keyword, string literal
escapes ("\t" etc)
VB - Restircted pointers, On Error handling, ReDim Preserve
I dont think C# will ever be given On Error handling as most VB programmers
are moving to the Try ... Catch ... End Try exception handeling. Also, I
think ReDim Preserve will most like stay VB. On the other hand it is
resonable to expect that maybe after .Net 2005 VB will be given bit shift
operatiors. However, I don't think VB will be given string literal escapes.
Finally, I don't think VB will get full pointers or an unsafe keyword
equivalent because it can use the .Net Marshal object to get access to
memory locations.
So at .Net 2005 I think the main difference between the two will be purely
syntax cosmetics. I feel that VB has a friendlier syntax then C#. C# has a
more technical feel with all the curly braces and semicolons.
Who knows, .Net 2007 may only have one language VCB# (Visual C Basic Sharp).
Robby