Condividi tramite


Statico (Visual Basic)

Specifica che una o più variabili locali dichiarate devono continuare a esistere e conservarne i valori più recenti dopo la chiusura della procedura in cui vengono dichiarati.

Osservazioni:

In genere, una variabile locale in una procedura smette di esistere non appena si arresta la procedura. Una variabile statica continua a esistere e mantiene il valore più recente. La volta successiva che il codice chiama la routine, la variabile non viene reinizializzata e contiene ancora il valore più recente assegnato. Una variabile statica continua a esistere per la durata della classe o del modulo in cui è definita.

Regole

  • Contesto dichiarazione. È possibile usare Static solo nelle variabili locali. Ciò significa che il contesto di dichiarazione per una Static variabile deve essere una routine o un blocco in una routine e non può essere un file di origine, spazio dei nomi, classe, struttura o modulo.

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

  • Non è possibile dedurre i tipi di dati delle Static variabili locali. Per altre informazioni, vedere Inferenza del tipo locale.

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

Comportamento

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

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

Esempio

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

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

La Static variabile totalSales viene inizializzata su 0 una sola volta. Ogni volta che si immette updateSales, totalSales ha ancora il valore più recente calcolato.

Il Static modificatore può essere usato in questo contesto:

Istruzione Dim

Vedere anche