Ich entwickle in Visual Basic .Net seit 2001 und ich liebe es und ich hasse es !!!
Die Reihenfolge der Darstellung dieser Punkte basiert nur auf der Reihenfolge, in der er mir in den Sinn kam ...
In vb.net mit Visual Studio gibt es einen visuellen Zeilenumbruch zwischen jeder Methode und Eigenschaft. Für viele Menschen ist es kein guter Grund, vb.net gegenüber c # zu bevorzugen, aber ich verstehe nicht, warum das c # -Team von Microsoft es nicht implementiert hat. Es gibt ein Add-In, das diese Linie in c # zeichnet, aber danke, dass Microsoft ein ac # -Team und ein Visual Basic-Team hat, die nicht miteinander sprechen.
In vb.net haben Sie beim Erstellen einer Winform zwei Comboboxen im Visual Studio oben im Editor und können Ereignisse automatisch generieren, wenn Sie ein Ereignis in der rechten Combobox auswählen. Wenn Sie jeden Tag Dutzende von Ereignissen anhängen, kann es sehr umständlich sein, diese Funktion nicht zu verwenden. Mit c # haben Sie eine kleine Schaltfläche am oberen Rand des Eigenschaftsrasters, die ein Ereignis generieren kann, aber nicht so schnell wie in vb.net. Wenn Sie ein Ereignis des Steuerelements in c # anhängen und das Steuerelement im Formular löschen, muss der Delegat, der für den automatisch generierten Code zur Behandlung des Ereignisses erstellt wurde, manuell gelöscht werden. Nochmals vielen Dank Microsoft.
Wenn Sie in vb.net versuchen, eine Methode zu ändern, die eine linq-Abfrage enthält, ohne die Abfrage selbst zu ändern, ist dies kein Problem. In c # wird jedoch der gesamte Methodencode gesperrt. Wenn Sie viele linq-Abfragen oder Lambda-Ausdrücke haben, ist die Funktion zum Bearbeiten und Fortsetzen schnell eine gute alte Sache. Ok, ein bisschen übertrieben ... aber :)
Wenn Sie in vb.net einen Methodennamen erstellen und auf die Eingabetaste tippen, wird das "End-Sub" automatisch erstellt. In c #, mach es selbst. Ok, wenn Sie Resharper oder Devexpress installiert haben, ist es besser, aber warum all diese kleinen, aber großen Funktionen nicht in c # implementiert wurden.
Wenn Sie in vb.net Fehler in Ihrem Code haben, werden diese automatisch angezeigt und wenn Sie sie korrigieren, werden diese Fehler in Echtzeit aus dem Stapel entfernt. In c # müssen Sie Ihr Projekt erstellen, um zu erkennen, dass Sie die angegebenen Fehler erfolgreich korrigiert haben oder nicht. Warum C # -Team keine Option zur Überprüfung von Echtzeitfehlern wie in vb.net eingerichtet hat. Bei einer großen Lösung kann keine Echtzeit-Fehlerüberprüfung eine sehr schöne Leistungsoptimierung sein, aber ich mag es, wenn ein Stapel von Fehlern verschwindet, während ich ihn korrigiere.
Wie schon von anderen erwähnt, ist es meiner Meinung nach einfacher, die vb.net-Bedingung zu lesen, wenn ... und wenn, wählen Sie den Fall aus ... und wählen Sie aus, aber vergessen Sie, was ich gesagt habe.
Mit vb.net gibt es viele, viele Fehler in Visual Studio. Um nur einen in Visual Studio 2010 zu erwähnen, filtern die Intellisens die Aufzählung nicht richtig, wenn Sie den Modus "Allgemein" anstelle von "Alle" aktiviert haben.
Mit vb.net werden Sie als Dummy-Typ wahrgenommen, weil statisch gesehen mehr schlechte Programmierer vb.net anstelle von c # verwenden, weil es schwieriger ist, c # zu erlernen und eine bessere Programmierpraxis zu fördern.
Wie bereits erwähnt, haben C # -Programmierer bessere Chancen, mit mehr Geld einen guten Job zu haben.
Im Kopf des Kunden, vb.net = Typ, der in seinem Keller mit einem Bol Spaghetti Code programmiert. c # = wow, du bist sehr intelligent. Tatsache ist, dass Sie kein gutes Programm erstellen, sondern statisch, ja.
Mit all diesen Punkten habe ich beschlossen, meinen gesamten vb-Code in c # umzuwandeln. Ich programmiere mit den besten Methoden von objektorientiertem Design, sauberem Code mit Standards und strenger Syntax und ich kann seit 50 Jahren so programmieren, aber aus Sicht der Community bin ich kein guter Programmierer. Ich werde meinen Code in c # ohne andere bewährte Methoden konvertieren und eine andere Person sein. Ein toller Kerl, den man respektieren muss ..... :( Was für ein Witz ... !!! aber es ist die Realität.