Share via


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, Longeller Decimal

  • En sammansatt datatyp, till exempel en matris eller struktur

  • En objekttyp, eller -klass, definierad antingen i ditt program eller i ett annat program

  • En .NET Framework-klass, till exempel Label eller TextBox

  • 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, joch k som typ Integer, l och m som Long, och xy 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.

Se även