Condividi tramite


Ambito delle variabili per gli utenti di Visual Basic 6.0

Aggiornamento: novembre 2007

In Visual Basic 2008 l'ambito di validità delle variabili locali è stato aggiornato per supportare l'ambito blocco e migliorare la programmazione strutturata.

Visual Basic 6.0

In Visual Basic 6.0 a ogni variabile dichiarata in una routine è associato un ambito di validità routine, in modo da rendere accessibile tale variabile da qualunque punto della stessa routine. Se la variabile viene dichiarata in un blocco, ovvero un insieme di istruzioni terminate da un'istruzione End, Loop o Next, tale variabile è comunque accessibile dall'esterno del blocco.

Nell'esempio seguente viene mostrato l'utilizzo dell'ambito routine, dove il blocco è un ciclo For:

For I = 1 To 10

Dim N As Long = 0

' N has procedure scope although it was declared within a block.

N = N + Incr(I)

Next I

W = Base ^ N

' N is still visible outside the block it is declared in.

Visual Basic 2005

In Visual Basic 2008 a una variabile dichiarata in un blocco è associato un ambito blocco e tale variabile non è accessibile dall'esterno del blocco. È possibile riscrivere l'esempio precedente nel modo seguente:

Dim N As Long = 0
' N is declared outside the block and has procedure scope. 
For I As Integer = 1 To 10
    ' I is declared by the For statement and therefore within the block. 
    N = N + Incr(I)
Next I
w = Base ^ N
' N is visible outside the block but I is not. 

Poiché l'istruzione For dichiara I come parte del blocco For,I dispone solo dell'ambito blocco.

La durata della variabile corrisponde tuttavia ancora a quella dell'intera routine, sia che alla variabile sia associato un ambito blocco sia che vi sia associato un ambito routine. Se si dichiara una variabile in un blocco e si immette tale blocco più volte nel corso della durata della routine, è necessario inizializzare la variabile per evitare valori non previsti.

Vedere anche

Concetti

Riepilogo delle modifiche al supporto degli elementi di programmazione