03. august 2002 - 12:16Der er
11 kommentarer og 1 løsning
Bare en tanke...
Hej eksperter, Nu har jeg arbejdet en hel masse med C# og .NET, men jeg ved ikke så meget om VB.NET. Så kom jeg på en tanke. I C# kan man have flere constructors i en klasse som bliver kaldt alt efter hvilke argumenter osv. der gives videre. Eks: public MyClass(string str) { ... } public MyClass(int i) { ... } public MyClass(object o) { ... }
Kan man det samme i VB.NET? Hvis ikke, ville jeg mene det var den endelige grund til at foretrække C#... Men som sagt tidligere, så tror jeg det er en religionssag...
Protected Class minKlasse Public Sub New(ByVal minParam As Integer) 'Gør noget med parametre End Sub Public Sub New() 'Gør noget uden parametre End Sub End Class
Tja... det er jo det man bliver født ind i, helt uden at få et valg :-) Så måske har du ret. Hvor har du fra at C# er hurtigere? (at skrive er det måske)
C# er ikke bare hurtigere at skrive, det er meget hurtigere at skrive... Og for mig er det også betydeligt nemmere at overskue, fordi objekter adskilles fra syntakstegn, f.eks. {, }, == osv...
Desuden mener jeg jo inderst inde og i virkeligheden, at VB(.NET) er lidt taberagtigt, fordi det er nemmere, men det er selvfølgelig en noget højrøvet holdning som jeg ikke vil argumentere for... :-)
Ja, der er generelt færre tegn når man skriver c#, men det er nu ikke det jeg lige tænkte på.
VB.NET laver mange kald til den baseclass der bibeholder tilbagekombabiliteten med VB6, jeg har skrevet en artikel om forskellen på VB.NET IL og C# IL som jeg snart publicerer.
Ja, men MSIL koden er ofte ikke helt ens. VB.NET bliver ofte oversat til kode der benytter Microsoft.VisualBasic klassen. F.eks. i sammenligning af strenge laver C# et kald til:
Afhængig af hvormeget man bruger funktioner der tager højde for bagudkompabiliteten kan dette forringe performance med op til 3-4%. Denne information er overfor mig blevet bekræftet af en udvikler fra microsofts Common Language Runtime Team
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.