Impliciet getypte lokale variabelen declareren
De C#-compiler werkt achter de schermen om u te helpen bij het schrijven van uw code. De compiler kan het gegevenstypen van uw variabelen afleiden op basis van de geïnitialiseerde waarde. In deze les komt u meer te weten over deze functie met de naam Impliciet getypeerde lokale variabele.
Wat zijn impliciet getypeerde lokale variabelen?
Een impliciet getypte lokale variabele wordt gemaakt met behulp van het var
trefwoord gevolgd door een variabele initialisatie. Voorbeeld:
var message = "Hello world!";
In dit voorbeeld is een tekenreeksvariabele gemaakt met behulp van het var
trefwoord in plaats van het string
trefwoord.
Het var
trefwoord vertelt de C#-compiler dat het gegevenstype wordt geïmpliceerd door de toegewezen waarde. Nadat het type is geïmpliceerd, werkt de variabele hetzelfde als als het werkelijke gegevenstype is gebruikt om het te declareren. Het var
trefwoord wordt gebruikt om toetsaanslagen op te slaan wanneer typen lang zijn of wanneer het type duidelijk is uit de context.
In het voorbeeld:
var message = "Hello world!";
Omdat de variabele message
onmiddellijk is ingesteld op de string
waarde "Hello World!"
, begrijpt de C#-compiler de intentie en behandelt elke instantie van message
het type string
.
In feite wordt de message
variabele getypt als een string
en kan nooit worden gewijzigd. Denk bijvoorbeeld aan de volgende code:
var message = "Hello World!";
message = 10.703m;
Wanneer u deze code uitvoert, wordt het volgende foutbericht weergegeven.
(2,11): error CS0029: Cannot implicitly convert type 'decimal' to 'string'
Notitie
Andere programmeertalen gebruiken het var
-sleutelwoord anders. In C# krijgen variabelen een type toegewezen door de compiler, ongeacht of u de werkelijke naam van het gegevenstype gebruikt of dat de compiler het gegevenstype kan impliceren. Met andere woorden: het type wordt op het moment van de declaratie vergrendeld en kan daarom nooit waarden van een ander gegevenstype bevatten.
Variabelen die het var
trefwoord gebruiken, moeten worden geïnitialiseerd
Het is belangrijk om te weten dat het var
-sleutelwoord afhankelijk is van de waarde die u gebruikt om de variabele te initialiseren. Als u het var
-sleutelwoord probeert te gebruiken zonder de variabele te initialiseren, ontvangt u een foutbericht wanneer u de code probeert te compileren.
var message;
Als u deze code probeert uit te voeren terwijl deze wordt gecompileerd, ziet u de volgende uitvoer:
(1,5): error CS0818: Implicitly-typed variables must be initialized
Waarom moet u het var
-sleutelwoord gebruiken?
Het var
trefwoord is veel gebruikt in de C#-community. Het is waarschijnlijk dat als u een codevoorbeeld in een boek of online bekijkt, u het var
trefwoord ziet dat wordt gebruikt in plaats van de werkelijke naam van het gegevenstype, dus het is belangrijk om het gebruik ervan te begrijpen.
Het var
trefwoord heeft een belangrijk gebruik in C#. Vaak is het type variabele duidelijk van de initialisatie. In die gevallen is het eenvoudiger om het var
trefwoord te gebruiken. Het var
trefwoord kan ook handig zijn bij het plannen van de code voor een toepassing. Wanneer u begint met het ontwikkelen van code voor een taak, weet u mogelijk niet direct welk gegevenstype u moet gebruiken. Het gebruik var
kan u helpen uw oplossing dynamisch te ontwikkelen.
Wanneer u aan de slag gaat, is het raadzaam om de werkelijke naam van het gegevenstype te blijven gebruiken wanneer u variabelen declareert totdat u vertrouwd raakt met het werken met code. Wanneer u het gegevenstype gebruikt bij het declareren van variabelen, kunt u doelgericht werken bij het schrijven van de code.
Samenvatting
Dit is wat u tot nu toe hebt geleerd over het var
trefwoord:
- Met het
var
-sleutelwoord wordt aan de compiler aangegeven dat het gegevenstype moet worden afgeleid van de variabele op basis van de waarde waarop deze is geïnitialiseerd. - Waarschijnlijk ziet u het
var
trefwoord terwijl u de code van anderen leest. U moet echter het gegevenstype gebruiken wanneer dat mogelijk is.