AndAlso und OrElse VB.NET Basic Logical Operators

click fraud protection

Der if-Ausdruck erzeugt in VB 6 einen Fehler "Teilen durch Null", da Wert 3 Null ist. (Aber siehe die Schneller Tipp zum Teilen durch Null für mehr dazu.) Es könnte sein, dass die Fälle, die dazu führen, dass Value3 Null ist, sehr selten sind und nur dann auftreten, wenn Sie genießen einen Urlaub in tausend Meilen Entfernung, sodass Sie im Notfall zurückgerufen werden können, um das Programm zu reparieren Modus. (Hallo! Es passiert!)

Nach dem Wechsel von And zu AndAlso funktioniert das Programm! Der Grund ist, dass der letzte Teil der zusammengesetzten If-Bedingung - (Wert 2 \ Wert3) - niemals tatsächlich ausgeführt wird. Wenn Sie AndAlso verwenden, weiß VB.NET, dass der Ausdruck nicht erfolgreich sein kann, wenn festgestellt wird, dass der erste Teil der Bedingung - a ist nicht größer als Wert1 - falsch ist. Daher hört VB.NET genau dort auf, den Ausdruck auszuwerten. Ein ähnliches Beispiel könnte mit OrElse erstellt werden.

Diese Analyse zeigt auch, wie Sie Ihrem Code eine gewisse Effizienz verleihen können, indem Sie einen zusammengesetzten logischen Ausdruck korrekt anordnen. Wenn Sie den Ausdruck, der bei Verwendung von AndAlso am wahrscheinlichsten falsch ist, ganz links platzieren, können Sie verhindern, dass Ausführungszyklen zur Auswertung des Ausdrucks ganz rechts verwendet werden. In einem einzigen Test würde es nicht genug Unterschied machen, um überhaupt darüber nachzudenken. Wenn sich Ihr Test jedoch in einer Schleife befindet und zig Mal ausgeführt wird, kann dies einen großen Unterschied machen.

instagram viewer

instagram story viewer