Una delle differenze più interessanti per me è che C# ha generalmente una sintassi più concisa. Questo si manifesta soprattutto con espressioni lambda. Sebbene VB.Net abbia ora la stessa funzionalità, trovo la sintassi VB.Net troppo prolissa.
Ad esempio, se si utilizza il LINQ 'API Fluent' sintassi:
C#
var addresses = _users
.Where(u => u.Name == "scott")
.Select(u => u.Address)
Certo, la sintassi può essere un po 'strano in un primo momento, ma non appena si è abituati a questo in realtà diventa molto leggibile. Confronta questo con 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: A quanto pare sono stato male informato ...
Il codice di cui sopra è valida solo in VB10 (dove hanno aggiunto le dichiarazioni lambda su più righe), ma può essere scritto più concisamente come segue:
Dim addresses = users _
.Where(Function(u) u.Name = "scott") _
.Select(Function(u) u.Address)
a parte le brutte sottolineature e la parola chiave al posto del =>
Function
, questo è in gran parte la stessa. Comunque preferisco comunque la sintassi C# ;-)
Al passo con il gergo del marketing, non è più il suo .0 è solo 4;) – Nate
Le mie scuse per una supervisione così offensiva! ; D – Airn5475
È possibile accettare una risposta con la quale si ha dimestichezza. Aiuta le persone a capire che il tuo problema è risolto. – JonH