Einer der überzeugendsten Unterschiede für mich ist, dass C# im Allgemeinen eine prägnantere Syntax hat. Dies äußert sich besonders bei Lambda-Ausdrücken. Obwohl VB.Net jetzt die gleiche Funktionalität hat, finde ich die VB.Net-Syntax viel zu ausführlich.
ZB wenn Sie die 'Fluent API' Syntax LINQ verwenden:
C#
var addresses = _users
.Where(u => u.Name == "scott")
.Select(u => u.Address)
Zwar kann die Syntax ein wenig seltsam auf den ersten, aber sobald Sie es gewohnt sind es wird tatsächlich sehr lesbar. Vergleichen Sie dies mit 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: Anscheinend war ich falsch informiert ...
Der obige Code ist nur gültig in VB10 (wo sie mehrzeilige Lambda-Anweisungen hinzugefügt), kann aber mehr geschrieben werden prägnant wie folgt:
Dim addresses = users _
.Where(Function(u) u.Name = "scott") _
.Select(Function(u) u.Address)
Neben der hässlichen Unterstrichen und das Function
Schlüsselwort anstelle der =>
, diese meist ist das gleiche. Trotzdem bevorzuge die C# -Syntax obwohl ;-)
Halten Sie mit dem Marketing-Jargon, es ist nicht .0 mehr es ist nur 4;) – Nate
Ich entschuldige mich für eine solche offensive Aufsicht! ; D – Airn5475
Vielleicht möchten Sie eine Antwort akzeptieren, mit der Sie sich wohl fühlen. Es hilft den Leuten zu erkennen, dass Ihr Problem gelöst ist. – JonH