If-udtrykket genererer en "divider med nul" -fejl i VB 6, fordi værdi3 er nul. (Men se Hurtigt tip om divider med nul for mere om det.) Det kan være, at de tilfælde, der resulterer i, at Value3 er nul, er meget sjældne og kun forekommer, når du nyder en ferie tusind miles væk, så du kan kaldes tilbage for at ordne programmet i en nødsituation mode. (Hej! Det sker!)
Efter at have skiftet til AndAlso fungerer programmet! Årsagen er, at den sidste del af forbindelsen If-betingelse - (værdi 2 \ værdi3) - faktisk aldrig udføres. Når du bruger AndAlso, ved VB.NET, at udtrykket ikke kan lykkes, når det konstateres, at den første del af betingelsen - a ikke er større end Værdi1 - er falsk. Så VB.NET holder op med at evaluere udtrykket lige der. Et lignende eksempel kunne konstrueres ved hjælp af OrElse.
Denne analyse antyder også, hvordan du kan tilføje en vis effektivitet til din kode ved at arrangere et sammensat logisk udtryk korrekt. Hvis du placerer det udtryk, der mest sandsynligt er falsk i positionen længst til venstre, når du bruger AndAlso, kan du forhindre eksekveringscyklusser i at blive brugt til at evaluere det mest udtryk til højre. I en enkelt test ville det ikke gøre nok forskel til at være værd at selv tænke over. Men hvis din test er inde i en løkke af en eller anden art og udføres zillioner af gange, kan det gøre en stor forskel.