Каковы различия между C # .net и Visual Basic.net? - PullRequest
8 голосов
/ 07 февраля 2009

У меня небольшой опыт работы с VB.net, и я хотел бы изучить C # .net

Чем отличаются VB.net от C # .net?

Есть ли разница в производительности между этими двумя?

Помимо синтаксических различий, есть ли какие-то важные изменения, о которых я должен помнить?

Ответы [ 6 ]

8 голосов
/ 07 февраля 2009

В разделе Language Features в статье Wikipedia представлен хороший обзор. Производительность по сути эквивалентна почти во всех аспектах, насколько я понимаю.

5 голосов
/ 07 февраля 2009

Производительность эквивалентна, если вы пишете эквивалентный код, но VB.NET имеет конструкции, которые существуют для «обратной совместимости», которые НИКОГДА не должны использоваться. C # не имеет некоторых из этих вещей. Я конкретно думаю о:

  • Функции, которые находятся в пространстве имен Microsoft.VisualBasic и являются членами других стандартных классов .NET, таких как Trim (). Классы .NET часто бывают быстрее.

  • Редим и Редим. Никогда не будет использоваться в .NET, но там они есть в VB.

  • При ошибке ... вместо исключений. Тьфу!

  • Позднее связывание (иногда насмешливо называют «Option Slow»). Не очень хорошая идея для нединамического языка .NET с точки зрения производительности.

В VB также отсутствуют такие вещи, как автоматические свойства, что делает его довольно нежелательным для меня. Не проблема производительности, но стоит иметь в виду.

2 голосов
/ 07 февраля 2009

Перейдите по ссылкам, которые дают подробные различия

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

http://www.codeproject.com/KB/dotnet/vbnet_c__difference.aspx

http://support.microsoft.com/kb/308470

Несмотря на различия, указанные в http://support.microsoft.com/kb/308470, C # и VB.Net являются первоклассными гражданами мира .Net

Хотя существуют различия между Visual Basic .NET и Visual C # .NET, оба являются первоклассным программированием языки, основанные на Microsoft .NET Framework, и они одинаково мощный. Visual Basic .NET является настоящее объектно-ориентированное программирование язык, который включает в себя новые и улучшенные функции, такие как наследование, полиморфизм, интерфейсы и перегрузка. Оба Visual Basic .NET и Visual C # .NET используют общее язык выполнения. Там почти нет проблемы с производительностью между Visual Базовый .NET и Visual C # .NET. визуальный C # .NET может иметь несколько больше «мощности» такие функции, как обработка неуправляемых код, и Visual Basic .NET может быть немного перекошен в сторону простоты использования предоставляя такие функции, как поздно связывание. Однако различия между Visual Basic .NET и Visual C # .NET очень мало по сравнению с что они были в более ранних версиях.

2 голосов
/ 07 февраля 2009

Первое, что нужно знать об изучении C #, это то, что это не произносится как "C # .net", это просто C #. Microsoft прикрепила «.NET» к VB, потому что была предыдущая версия VB, которая не работала на .NET Framework. C # был создан специально для .NET Framework, поэтому «.net» подразумевается и не нужен. Кроме того, добавление "C # .NET" в ваше резюме на самом деле подсказывает опытному менеджеру о вашем уровне навыков или его отсутствии в отношении C #.

Также эта статья в Википедии действительно хороша для того, чтобы показать все за и против, а также различия между C # и VB.NET на высоком уровне.

2 голосов
/ 07 февраля 2009

Я думаю, вы найдете ответы на свой вопрос в этой статье:

http://en.wikipedia.org/wiki/Comparison_of_C_sharp_and_Visual_Basic_.NET

и

http://geekswithblogs.net/jmccarthy/archive/2007/01/23/104372.aspx

править: Нолдорин был быстрее: х

0 голосов
/ 15 июня 2016

Независимо от того, какой язык вы выбираете в зависимости от ваших личных предпочтений и прошлый опыт, оба языка являются мощными инструментами разработчика и первоклассные языки программирования, которые имеют общий язык время выполнения в .NET Framework.

Говорит Microsoft https://web.archive.org/web/20061027230435/http://support.microsoft.com/kb/308470

...