Помимо синтаксиса не так уж много. Они оба компилируются в один и тот же IL, поэтому вы можете скомпилировать что-то как VB и отразить это в C #.
Большинство очевидных различий - синтаксический сахар. Например, VB поддерживает динамические типы, но на самом деле они такие же статические, как C #, - компилятор VB выясняет их.
Visual Studio работает с VB иначе, чем с C # - он скрывает множество функций, но добавляет фоновую компиляцию (отлично подходит для небольших проектов, перехват ресурсов для крупных) и лучшую поддержку фрагментов.
С появлением все большего «волшебства» компилятора в C # 3 VB.Net действительно отстает. Единственное, что VB теперь имеет, чего нет в C #, - это ключевое слово handles
, и это спорная выгода.
@ Том - это действительно полезно, но немного устарело - VB.Net теперь также поддерживает документы XML с '''
@ Люк - VB.Net до сих пор не имеет анон-методов, но теперь поддерживает лямбды.