Operatori logici di base AndAlso e OrElse VB.NET

click fraud protection

L'espressione if genera un errore di "divisione per zero" in VB 6 perché Value3 è zero. (Ma vedi il Suggerimento rapido sulla divisione per zero per ulteriori informazioni al riguardo.) È possibile che i casi che determinano il valore di Zero 3 siano molto rari e si verifichino solo quando ti stai godendo una vacanza a mille miglia di distanza in modo da poter essere richiamato per risolvere il programma in caso di emergenza modalità. (Hey! Succede!)

Dopo aver cambiato E in AndAlso, il programma funziona! Il motivo è che l'ultima parte della condizione If composta (valore 2 \ valore3) non viene mai effettivamente eseguita. Quando si utilizza AndAlso, VB.NET sa che l'espressione non può avere successo una volta determinato che la prima parte della condizione - a non è maggiore di Value1 - è falsa. Quindi VB.NET smette di valutare l'espressione proprio lì. Un esempio simile potrebbe essere costruito usando OrElse.

Questa analisi suggerisce anche come aggiungere un po 'di efficienza al codice disponendo correttamente un'espressione logica composta. Se si posiziona l'espressione che è più probabile che sia falsa nella posizione più a sinistra quando si utilizza AndAlso, è possibile impedire l'utilizzo di cicli di esecuzione per valutare l'espressione più a destra. In un singolo test, non farebbe abbastanza differenza da valere la pena di pensarci. Ma se il tuo test è all'interno di un ciclo di qualche tipo e viene eseguito miliardi di volte, potrebbe fare una grande differenza.

instagram viewer

instagram story viewer