Wat is een initialisatie?

Initialisatie is het toekennen van een eerste, geldige waarde op het moment van declaratie. Je zorgt er zo voor dat een variabele of veld niet meer ‘onbekend’ is, waardoor runtime-fouten door null- of ongedefinieerde waarden worden voorkomen.

Casus

In hetzelfde restaurant­systeem wil je bij aanvang meteen weten hoeveel stoelen er beschikbaar zijn. Door int beschikbareStoelen = 50; te initialiseren, voorkom je dat je per ongeluk met een ongedefinieerde waarde rekent.

Hoe zit initialisatie in elkaar?

Bij het initialiseren geef je een variabele direct een waarde op het moment van declaratie. Dit doe je door na de naam een =-teken te gebruiken en vervolgens de gewenste waarde toe te kennen.

Als de variabele onderdeel is van een klasse en niet binnen een methode wordt gedeclareerd, kan de access-modifier ervoor gezet worden. In C# geldt dat const-variabelen en readonly-velden direct of in de constructor moeten worden geïnitialiseerd.

Codevoorbeeld

int leeftijd = 25;
public string naam = "A";

In het bovenstaande voorbeeld wordt eerst een variabele leeftijd gedeclareerd en direct geïnitialiseerd met de waarde 25. Vervolgens wordt een variabele naam gedeclareerd en direct geïnitialiseerd met de waarde “A” met de public access-modifier.

Hoe gebruik je initialisatie?

Initialisatie wordt gebruikt om ervoor te zorgen dat een variabele direct een bruikbare waarde heeft. Hierbij geef je door middel van access modifiers ook direct een bepaald bereik (scope) aan. Het initialiseren helpt bij het voorkomen van runtime-fouten en zorgt ervoor dat gegevens direct beschikbaar zijn.

Tips voor het initialiseren

  1. Zorg ervoor dat de naam logisch en beschrijvend is.
  2. Houd rekening met het datatype, omdat dit bepaalt welke waarden toegestaan zijn.
  3. Wees consistent met initialisatie; niet-geïnitialiseerde variabelen kunnen runtime-fouten veroorzaken.

Ook is het mogelijk om, in plaats van een data-type, var te gebruiken, dan wordt het type van je variabele automatisch afgeleid op basis van de initiële waarde.

Casus

Je bent bezig met het maken van een reserveringssysteem voor een restaurant. Dit systeem moet een aantal dingen bijhouden: de hoeveelheid stoelen, de naam van de gast en de tijd van de reservatie.

Mogelijke uitwerking van de casus

int beschikbareStoelen = 50;
string gastNaam = "Alice";
DateTime reserveringTijd = DateTime.Now;
 
Console.WriteLine($"Welkom {gastNaam}, uw reservering is gemaakt voor {reserveringTijd}. Er zijn nog {beschikbareStoelen} stoelen beschikbaar.");