Delen via


Declaratie van variabelen in Visual Basic

U declareert een variabele om de naam en kenmerken ervan op te geven. De declaratie-instructie voor variabelen is de Dim-instructie. De locatie en inhoud bepalen de kenmerken van de variabele.

Zie Namen van gedeclareerde elementen voor variabele naamgevingsregels en -overwegingen.

Declaratieniveaus

Lokale en lidvariabelen

Een lokale variabele is een variabele die in een procedure wordt gedeclareerd. Een lidvariabele is lid van een Visual Basic-type; het wordt gedeclareerd op moduleniveau, binnen een klasse, structuur of module, maar niet binnen een procedure intern voor die klasse, structuur of module.

Gedeelde en instantievariabelen

In een klasse of structuur is de categorie van een lidvariabele afhankelijk van of deze al dan niet wordt gedeeld. Als het wordt gedeclareerd met het gedeelde trefwoord, is het een gedeelde variabele en bestaat deze in één kopie die wordt gedeeld tussen alle exemplaren van de klasse of structuur.

Anders is het een exemplaarvariabele en wordt er een afzonderlijke kopie van deze gemaakt voor elk exemplaar van de klasse of structuur. Een bepaalde kopie van een exemplaarvariabele is alleen beschikbaar voor het exemplaar van de klasse of structuur waarin deze is gemaakt. Het is onafhankelijk van een kopie van de exemplaarvariabele in een ander exemplaar van de klasse of structuur.

Gegevenstype declareren

Met de as-component in de declaratie-instructie kunt u het gegevenstype of objecttype van de variabele definiëren die u declareren. U kunt een van de volgende typen opgeven voor een variabele:

  • Een elementair gegevenstype, zoals Boolean, Longof Decimal

  • Een samengesteld gegevenstype, zoals een matrix of structuur

  • Een objecttype, of klasse, gedefinieerd in uw toepassing of in een andere toepassing

  • Een .NET Framework-klasse, zoals Label of TextBox

  • Een interfacetype, zoals IComparable of IDisposable

U kunt verschillende variabelen in één instructie declareren zonder dat u het gegevenstype hoeft te herhalen. In de volgende instructies worden de variabelen i, jen k gedeclareerd als type Integer, l en m als Long, en xy als 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.  

Zie Gegevenstypen voor meer informatie over gegevenstypen. Zie Objecten en klassen enprogrammeren met onderdelen voor meer informatie over objecten.

Type-inferentie lokaal

Typedeductie wordt gebruikt om de gegevenstypen van lokale variabelen te bepalen die zonder component As zijn gedeclareerd. De compiler bepaalt het type van de variabele van het type initialisatie-expressie. Hiermee kunt u variabelen declareren zonder expliciet een type op te geven. In het volgende voorbeeld zijn zowel `num1` als `num2` sterk getypt als gehele getallen.

Public Sub inferenceExample()

    ' Using explicit typing.
    Dim num1 As Integer = 3

    ' Using local type inference.
    Dim num2 = 3

End Sub

Als u lokale typedeductie wilt gebruiken, moet Option Infer zijn ingesteld op On. Voor meer informatie, zie Lokale Type-afleiding en Optie-afleidingsstatement.

Kenmerken van gedeclareerde variabelen

De levensduur van een variabele is de periode waarin deze beschikbaar is voor gebruik. Over het algemeen bestaat er een variabele zolang het element dat het declareert (zoals een procedure of klasse) nog steeds bestaat. Als de variabele niet langer dan de levensduur van het bijbehorende element hoeft te blijven bestaan, hoeft u niets speciaals te doen in de declaratie. Als de variabele langer moet blijven bestaan dan het bijbehorende element, kunt u het Static- of Shared-trefwoord opnemen in de Dim instructie. Zie Levensduur in Visual Basic voor meer informatie.

Het bereik van een variabele is de verzameling van alle code die ernaar kan verwijzen zonder de naam te kwalificeren. Het bereik van een variabele wordt bepaald door de locatie waar deze wordt gedeclareerd. Code die zich in een bepaalde regio bevindt, kan gebruikmaken van de variabelen die in die regio zijn gedefinieerd zonder dat ze hun namen hoeven te kwalificeren. Zie Bereik in Visual Basic voor meer informatie.

Het toegangsniveau van een variabele is de mate van code die toegangsmachtigingen heeft. Dit wordt bepaald door de toegangsaanpassing (zoals Openbaar of Privé) die u in de Dim instructie gebruikt. Zie Access-niveaus in Visual Basic voor meer informatie.

Zie ook