Direttive #If...Then...#Else

Aggiornamento: novembre 2007

Compilano in modo condizionale blocchi selezionati di codice Visual Basic.

#If expression Then
      statements
[ #ElseIf expression Then
   [ statements ]
...
#ElseIf expression Then
   [ statements ] ]
[ #Else
   [ statements ] ]
#End If

Parti

  • expression
    Obbligatoria per le istruzioni #If e #ElseIf, facoltativa negli altri casi. Qualsiasi espressione, costituita esclusivamente da una o più costanti di compilazione condizionale, valori letterali e operatori, che restituisca True o False.

  • statements
    Obbligatoria per il blocco di istruzioni #If, facoltativa negli altri casi. Righe di programma o direttive di compilazione che vengono compilate se l'espressione associata restituisce True.

  • #End If
    Termina il blocco di istruzioni #If.

Note

Apparentemente, il comportamento delle direttive #If...Then...#Else è lo stesso delle istruzioni If...Then...Else. Tuttavia, mentre le istruzioni #If...Then...#Else valutano i risultati della compilazione effettuata dal compilatore, le istruzioni If...Then...Else valutano le condizioni in fase di esecuzione.

La compilazione condizionale viene utilizzata in genere per la compilazione di uno stesso programma per piattaforme diverse. Viene anche utilizzata per evitare che il codice di debug venga visualizzato in un file eseguibile. Il codice escluso durante la compilazione condizionale viene completamente omesso dal file eseguibile finale e non ha effetto su dimensioni e prestazioni.

Indipendentemente dal risultato di eventuali valutazioni, tutte le espressioni vengono valutate utilizzando Option Compare Binary. L'istruzione Option Compare non ha effetto sulle espressioni nelle istruzioni #If e #ElseIf.

Nota:

Non esiste alcun form a riga singola delle istruzioni #If, #Else, #ElseIf e #End If. Nessun altro codice può essere visualizzato sulla stessa riga delle istruzioni.

Esempio

Nell'esempio riportato di seguito viene utilizzato il costrutto #If...Then...#Else per stabilire se devono essere compilate determinate istruzioni.

#Const CustomerNumber = 36
#If CustomerNumber = 35 Then
        ' Insert code to be compiled for customer # 35.
#ElseIf CustomerNumber = 36 Then
        ' Insert code to be compiled for customer # 36.
#Else
        ' Insert code to be compiled for all other customers.
#End If

Vedere anche

Concetti

Cenni preliminari sulla compilazione condizionale

Riferimenti

Direttiva #Const

Istruzione If...Then...Else (Visual Basic)

Costanti di compilazione condizionale