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
oDecimal
Tipo di dati composito, ad esempio una matrice o una struttura
Tipo di oggetto o classe definiti nell'applicazione o in un'altra applicazione
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.