C# und VB.Net gemeinsam nutzen

Zusammenfassung

Dass VB.Net sich zu einer echt objektorientierten Sprache gemausert hat, die C# in nichts nachsteht, dürfte sich bereits herumgesprochen haben. Dass sie zwar an einigen Stellen noch ein paar unschöne Seiten vom alten Visual Basic mit sich herumschleppt (Option Explicit) ist sicherlich ärgerlich.

Vergleicht man allerdings die einzelnen Merkmale miteinander, wird schnell klar, dass vor allem die Entwicklungsumgebung von VB.Net einige angenehme Features zur Verfügung stellt, die in C# fehlen: automatische Konvertierung in Groß-/Kleinschreibung, automatische Klammersetzung bei Methoden, automatische Vervollständigung von If, For und Do ... Loop (wobei das Pendant der Klammersetzung in C# fehlt).

Dass alte Sprachelemente von VB/VBA mit übernommen wurden, kann als Vorteil oder Nachteil gesehen werden. Für „geringe“ Datenmengen ist das ReDim von Arrays eine einfache Technik und die Klammerung mittels With wird gerne aus Gründen der Lesbarkeit eingesetzt.

Auch der Zugriff auf Microsoft Office gestaltet sich wegen der Behandlung optionaler Parameter leichter durch VB.Net als durch C#.Leider haben aber auch unstrukturierte Konstrukte wie On Error Resume Next oder On Error GoTo Sprungmarke den Sprung von VB/VBA zu VB.Net geschafft.

Umgekehrt führen aber „fehlende“ Features zu einem anderen Programmierstil – wenn kein ReDim vorhanden ist, überlegt man sich schnell, ob man statt einem Array nicht besser eine Collection verwendet. Wenn kein Option Strict existiert, lernt man „sauberer“ zu programmieren und Switch wird in C# sicherlich anders eingesetzt als Select Case in VB.Net. (Rene Martin/mha)