Одна из самых убедительных отличий для меня в том, что C# обычно имеет более сжатый синтаксис. Это проявляется особенно в лямбда-выражениях. Хотя VB.Net теперь имеет ту же функциональность, я считаю, что синтаксис VB.Net слишком подробный.
Например, если вы используете LINQ «Fluent API» синтаксис:
C#
var addresses = _users
.Where(u => u.Name == "scott")
.Select(u => u.Address)
Правда, синтаксис может быть немного странно на первый, но как только вы привыкли это действительно становится очень читаемым. Сравните это с VB.Net:
Dim addresses = _users _
.Where(Function(u) As Boolean
return u.Name = "scott"
End Function) _
.Select(Function(u) as Address
Return u.Address
End Function)
EDIT: Видимо, я дезинформировали ...
Приведенный выше код действителен только в VB10 (где они добавляют многострочные операторы лямбда), но может быть записано более сжато следующим образом:
Dim addresses = users _
.Where(Function(u) u.Name = "scott") _
.Select(Function(u) u.Address)
Помимо некрасивого подчеркивания и Function
ключевого слова вместо =>
, это является в основном то же самым. Еще предпочитают синтаксис C#, хотя ;-)
Не отставайте от маркетингового жаргона, его нет .0 больше его просто 4;) – Nate
Приношу свои извинения за такой оскорбительный недосмотр! ; D – Airn5475
Возможно, вы захотите принять ответ, с которым вам удобно. Это помогает людям понять, что ваша проблема решена. – JonH