Variabeldeklaration i Visual Basic
Du deklarerar en variabel för att ange dess namn och egenskaper. Deklarationssatsen för variabler är Dim-instruktionen. Dess plats och innehåll avgör variabelns egenskaper.
Information om regler och överväganden för variabelnamn finns i Deklarerade elementnamn.
Deklarationsnivåer
Lokala variabler och medlemsvariabler
En lokal variabel är en variabel som deklareras inom en procedur. En medlemsvariabel är medlem i en Visual Basic-typ. Den deklareras på modulnivå, i en klass, struktur eller modul, men inte inom någon intern procedur för den klassen, strukturen eller modulen.
Delade variabler och instansvariabler
I en klass eller struktur beror kategorin för en medlemsvariabel på om den delas eller inte. Om det deklareras med nyckelordet Delat är det en delad variabel och den finns i en enda kopia som delas mellan alla instanser av klassen eller strukturen.
Annars är det en instansvariabel och en separat kopia av den skapas för varje instans av klassen eller strukturen. En viss kopia av en instansvariabel är endast tillgänglig för instansen av klassen eller strukturen där den skapades. Den är oberoende av en kopia av instansvariabeln i någon annan instans av klassen eller strukturen.
Deklarera datatyp
Med As-satsen i deklarationssatsen kan du definiera datatypen eller objekttypen för variabeln som du deklarerar. Du kan ange någon av följande typer för en variabel:
En elementär datatyp, till exempel
Boolean
,Long
ellerDecimal
En sammansatt datatyp, till exempel en matris eller struktur
En objekttyp, eller -klass, definierad antingen i ditt program eller i ett annat program
En gränssnittstyp, till exempel IComparable eller IDisposable
Du kan deklarera flera variabler i en instruktion utan att behöva upprepa datatypen. I följande instruktioner deklareras variablerna i
, j
och k
som typ Integer
, l
och m
som Long
, och x
y
som 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.
Mer information om datatyper finns i Datatyper. Mer information om objekt finns i Objekt och klasser och Programmering med komponenter.
Slutsatsdragning av lokal typ
Typinferens används för att fastställa datatyperna för lokala variabler som deklareras utan en As
sats. Kompilatorn härleder variabeltypen från typen av initieringsuttryck. På så sätt kan du deklarera variabler utan att uttryckligen ange en typ. I följande exempel skrivs både num1
och num2
starkt som heltal.
Public Sub inferenceExample()
' Using explicit typing.
Dim num1 As Integer = 3
' Using local type inference.
Dim num2 = 3
End Sub
Om du vill använda lokal typinferens Option Infer
måste anges till On
. Mer information finns i Slutsatsdragning av lokal typ och instruktion för alternativinferens.
Egenskaper för deklarerade variabler
Livslängden för en variabel är den tidsperiod under vilken den är tillgänglig för användning. I allmänhet finns det en variabel så länge elementet som deklarerar den (till exempel en procedur eller klass) fortsätter att finnas. Om variabeln inte behöver fortsätta att existera efter livslängden för dess innehållande element behöver du inte göra något särskilt i deklarationen. Om variabeln måste fortsätta att finnas längre än dess innehållande element kan du inkludera nyckelordet Static
eller Shared
i dess Dim
-instruktion. Mer information finns i Livslängd i Visual Basic.
Omfånget för en variabel är uppsättningen med all kod som kan referera till den utan att kvalificera dess namn. En variabels omfång bestäms av var den deklareras. Kod som finns i en viss region kan använda variablerna som definierats i den regionen utan att behöva kvalificera deras namn. Mer information finns i Omfång i Visual Basic.
En variabels åtkomstnivå är omfattningen av kod som har behörighet att komma åt den. Detta bestäms av den åtkomstmodifierare (till exempel offentlig eller privat) som du använder i -instruktionenDim
. Mer information finns i Åtkomstnivåer i Visual Basic.