TOC

This article is currently in the process of being translated into Dutch (~98% done).

Operators:

Increment/decrement operators

Als het om waarden gaat, speciaal van de numerieke soort, dan heb je vaak de behoefte om daar 1 bij op te tellen of om daar 1 van af te trekken. Dat is natuurlijk makkelijk zat. Je neemt gewoon een waarde, voegt er 1 aan toe, en ken de waarde toe aan de oorspronkelijke variabele. Voorbeeld:

int userAge = 41; 
userAge = userAge + 1;

De userAge variabele bevat nu de waarde 42 in plaats van 41 - gemakkelijk! Je kunt uiteraard hetzelfde doen als je 1 wilt aftrekken:

userAge = userAge - 1; 

Postfix increment/decrement

C# heeft echter een veel kortere operator om dit te doen. De 'increment/decrement' operator. Deze bestaat simpelweg uit twee plustekens (++) of twee mintekens (--). Hier is het eerste voorbeeld, maar nu herschreven, om deze operator te kunnen gebruiken:

int userAge = 41; 
userAge++;
Console.WriteLine("Age of user: " + userAge);

Het resultaat is precies hetzelfde, maar kijk eens hoeveel korter! En we kunnen het zelfs nog korter maken, omdat deze operator natuurlijk ook gebruikt kan worden binnen een bestaand statement:

int userAge = 41; 
Console.WriteLine("Age of user: " + userAge++);

Maar wacht eens even. Als je dit test, dan zie je dat variabele userAge nog steeds als 41 wordt afgedrukt. Waarom? Omdat we de 'postfix' versie gebruiken die wordt geëvalueerd Na het tussen haakjes statement. Met andere woorden, de regel wordt afgedrukt voordat de waarde is opgehoogd. Soms wil je dit in sommige gevallen, maar voor dit specifieke gebruik is het niet optimaal. Wat je nodig hebt is de 'prefix toename' operator

Prefix increment/decrement

Deze operator lijkt precies op de postfix versie, maar in plaats van dat die komt na de variabele, komt hij ervoor, en vertelt de interpreter om het te evalueren alvorens het statement tussen haakjes te evalueren

int userAge = 41; 
Console.WriteLine("Age of user: " + ++userAge);

Dit al het gewenste effect hebben, waarbij userAge wordt opgehoogd voordat de regel wordt afgedrukt. Het kan wel wat verwarrend zijn met drie + tekens, maar de eerste plus is voor de 'string concatenation', terwijl de laatste twee de werkelijke operators zijn. Als je er de voorkeur aan geeft, kun je het toename statement omgeven met haakjes om duidelijk te maken wat bij wat hoort.

Console.WriteLine("Age of user: " + (++userAge)); 

Het is aan jou om daarover te beslissen. Het resultaat is precies hetzelfde!

Een natuurlijk gaat het precies hetzelfde met de 'decrement' operator. Hier is de postfix versie:

int userAge = 41; 
Console.WriteLine("Age of user: " + (userAge--));

En de prefix versie:

int userAge = 41; 
Console.WriteLine("Age of user: " + (--userAge));

Samenvatting

Dus dit waren de toename en afname operators. Ze zijn beide prima voor zeer specifiek gebruik: Namelijk als je een waarde wil laten toenemen of afnemen met 1. In het volgende hoofdstuk kijken we naar de optel operator die veel op deze lijkt, maar net een wat ruimer gebruikt kent.

Zoals bij diverse andere C# operators, valt deze onder de term "syntactische suiker". Dezelfde taak kan worden uitgevoerd zonder deze specifieke operator, maar als je hem gebruikt, wordt je code wel korter. Of code daardoor leesbaarder wordt, is erg subjectief. Sommige mensen houden ervan, anderen vinden dat hun code beter leesbaar en begrijpelijk is zonder deze. Het is echt aan jou om daar een oordeel over te hebben!


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!