Оба этих языка являются высокоуровневыми и входят в перечень языков программирования для платформы .NET. В основном их отличия синтаксические, но есть и более значительные.
О последних далее:
Есть в C# (нет в VB .NET):
🔶 Указатели и возможность писать unsafe код
🔶 Статические классы
🔶 Контроль переполнения checked/unchecked
🔶 Чувствительность к регистру (case-sensivity)
🔶 Более строгая проверка типов
🔶 Синтаксический сахар (делает язык менее многословным)
Есть в VB .NET (нет в C#):
🔶 XML литералы
🔶 Вспомогательные методы IsNumeric и PMT
🔶 Inline объявление дат, например #12/31/2000#
🔶 Оператор Like для сравнения строки с шаблоном
От себя замечу, что на сегодняшний день большинство проектов, которые продолжают использовать VB .NET являются скорее legacy (требующие сопровождения и исправления ошибок, нежели активной разработки).
C#, напротив, уверенно занял лидерство в качестве основного языка разработки для платформы .NET 😉
💬 Крайне показательным в этом случае являются результаты опроса на StackOverflow за 2018, в котором 34.4% опрошенных указали, что используют C#, в то время как у VB .NET эта цифра едва дотягивает до 6.8%.