Dichiarazione di variabili in Visual Basic

Si dichiara una variabile per specificarne il nome e le caratteristiche. L'istruzione di dichiarazione per le variabili è l'istruzione Dim. La posizione e il contenuto determinano le caratteristiche della variabile.

Per le regole di denominazione delle variabili e considerazioni, vedere Nomi di elementi dichiarati.

Livelli di dichiarazione

Variabili locali e membro

Una variabile locale è una dichiarata all'interno di una routine. Una variabile membro è un membro di un tipo Visual Basic, dichiarato a livello di modulo, all'interno di una classe, di una struttura o di un modulo, ma non all'interno di una routine interna a tale classe, struttura o modulo.

Variabili condivise e di istanza

In una classe o struttura, la categoria di una variabile membro dipende dal fatto che sia condiviso o meno. Se viene dichiarata con la parola chiave Shared, si tratta di una variabile condivisa ed è presente in una singola copia condivisa tra tutte le istanze della classe o della struttura.

In caso contrario, si tratta di una variabile di istanza e viene creata una copia separata per ogni istanza della classe o della struttura. Una determinata copia di una variabile di istanza è disponibile solo per l'istanza della classe o della struttura in cui è stata creata. È indipendente da una copia della variabile di istanza in qualsiasi altra istanza della classe o della struttura.

Dichiarazione del tipo di dati

La clausola As nell'istruzione di dichiarazione consente di definire il tipo di dati o il tipo di oggetto della variabile che si sta dichiarando. È possibile specificare uno dei tipi seguenti per una variabile:

  • Tipo di dati elementare, ad esempio Boolean, Long o Decimal

  • Tipo di dati composito, ad esempio una matrice o una struttura

  • Tipo di oggetto o classe definiti nell'applicazione o in un'altra applicazione

  • Classe .NET Framework, ad esempio Label o TextBox

  • Tipo di interfaccia, ad esempio IComparable o IDisposable

È possibile dichiarare diverse variabili in un'istruzione senza dover ripetere il tipo di dati. Nelle istruzioni seguenti le variabili i, j e k vengono dichiarate come tipo Integer, l e m come Long e x come y e Single:

Dim i, j, k As Integer  
' All three variables in the preceding statement are declared as Integer.  
Dim l, m As Long, x, y As Single  
' In the preceding statement, l and m are Long, x and y are Single.  

Per altre informazioni sui tipi di dati, vedere Tipi di dati. Per altre informazioni sugli oggetti, vedere Oggetti e classi e Programmazione con componenti.

Inferenza del tipo di variabile locale

L'inferenza del tipo viene usata per determinare i tipi di dati delle variabili locali dichiarate senza una clausola As. Il compilatore deduce il tipo della variabile in base al tipo dell'espressione di inizializzazione. In questo modo è possibile dichiarare le variabili senza specificare in modo esplicito un tipo. Nell'esempio seguente, sia num1 che num2 sono fortemente tipizzati come numeri interi.

Public Sub inferenceExample()

    ' Using explicit typing.
    Dim num1 As Integer = 3

    ' Using local type inference.
    Dim num2 = 3

End Sub

Se si vuole usare l'inferenza del tipo locale, è necessario impostare Option Infer su On. Per altre informazioni, vedere Local Type Inference (Inferenza del tipo di variabile locale) e Option Infer Statement (Istruzione Option Infer).

Caratteristiche delle variabili dichiarate

La durata di una variabile è il periodo di tempo durante il quale è disponibile per l'uso. In generale, una variabile esiste purché l'elemento che la dichiara (ad esempio una routine o una classe) continui a esistere. Se la variabile non deve continuare a esistere oltre la durata dell'elemento contenitore, non è necessario eseguire alcuna operazione speciale nella dichiarazione. Se la variabile deve continuare a esistere più a lungo del relativo elemento contenitore, è possibile includere la parola chiave Static o Shared nella relativa istruzione Dim. Per altre informazioni, vedere Durata in Visual Basic.

L'ambito di una variabile è il set di tutto il codice che può farvi riferimento senza qualificarne il nome. L'ambito di una variabile è determinato dalla posizione in cui viene dichiarata. Il codice che si trova in una determinata area può usare le variabili definite in tale area senza doverne qualificare i nomi. Per altre informazioni, vedere Scope in Visual Basic.

Il livello di accesso di una variabile è l'extent del codice autorizzato ad accedervi. Ciò è determinato dal modificatore di accesso (ad esempio Pubblico o Privato) usato nell'istruzione Dim. Per altre informazioni, vedere Livelli di accesso in Visual Basic.

Vedi anche