Condividi tramite


Static (Visual Basic)

Specifica che una o più variabili locali dichiarate restano valide e conservano i valori più recenti dopo il termine della routine nella quale vengono dichiarate.

Note

Di norma, l'esistenza di una variabile locale in una routine termina insieme alla routine stessa. Una variabile statica resta valida e conserva il valore più recente. Alla successiva chiamata della routine da parte del codice, la variabile non viene reinizializzata e contiene ancora il valore più recente a essa assegnato. Una variabile statica continua a esistere per la durata della classe o del modulo in cui è definita.

Regole

  • Contesto della dichiarazione. È possibile utilizzare Static solo per variabili locali. In altri termini, il contesto della dichiarazione per una variabile Static deve essere una routine o un blocco in una routine e non può essere un file di origine, uno spazio dei nomi, una classe, una struttura o un modulo.

    Non è possibile utilizzare Static all'interno di una routine di struttura.

  • Non è possibile dedurre i tipi di dati delle variabili locali Static. Per ulteriori informazioni, vedere Inferenza del tipo di variabile locale (Visual Basic).

  • Modificatori combinati. Non è possibile specificare Static insieme a ReadOnly, Shadows o Shared nella stessa dichiarazione.

Comportamento

Quando si dichiara una variabile statica in una routine di Shared , una sola copia della variabile statica è disponibile per l'intera applicazione. Chiama una routine di Shared utilizzando il nome della classe, non una variabile che punti a un'istanza della classe.

Quando si dichiara una variabile statica in una routine che non è Shared, una sola copia della variabile è disponibile per ogni istanza della classe. Chiama una routine non condivisa tramite una variabile che punta a un'istanza specifica della classe.

Esempio

Nell'esempio seguente viene illustrato l'utilizzo di Static.

Function updateSales(ByVal thisSale As Decimal) As Decimal 
    Static totalSales As Decimal = 0
    totalSales += thisSale
    Return totalSales
End Function

La variabile Static totalSales viene inizializzata su 0 una sola volta. Ogni volta che si accede a updateSales, in totalSales è presente il valore calcolato più recente.

È possibile utilizzare il modificatore Static nel seguente contesto:

Istruzione Dim (Visual Basic)

Vedere anche

Riferimenti

Shadows (Visual Basic)

Shared (Visual Basic)

Concetti

Durata in Visual Basic

Dichiarazione di variabili in Visual Basic

Inferenza del tipo di variabile locale (Visual Basic)

Altre risorse

Strutture (Visual Basic)

Oggetti e classi in Visual Basic