Oefening: waarden verhogen en verlagen

Voltooid

De laatste basisbewerkingen die u tot slot in deze module leert, zijn het verhogen en verlagen van waarden met behulp van speciale operators die combinaties van symbolen zijn.

Verhogen en verlagen

Vaak moet u waarden verhogen en/of verlagen, met name wanneer u luslogica of code schrijft die interactie heeft met een gegevensstructuur.

Met de operator += wordt de waarde rechts van de operator toegevoegd en toegewezen aan de waarde links van de operator. Regels twee en drie in het volgende codefragment zijn dus hetzelfde:

int value = 0;     // value is now 0.
value = value + 5; // value is now 5.
value += 5;        // value is now 10.

De ++-operator verhoogt de waarde van de variabele in stappen van 1. Regels twee en drie in het volgende codefragment zijn dus hetzelfde:

int value = 0;     // value is now 0.
value = value + 1; // value is now 1.
value++;           // value is now 2.

Dezelfde technieken kunnen worden gebruikt voor aftrekken, vermenigvuldigen en meer. In de volgende stappen worden enkele beschreven.

Notitie

Operators, zoals +=, -=, *=, ++ en --, worden samengestelde-toewijzingsoperators genoemd, omdat ze samen een bepaalde bewerking vormen om het resultaat aan de variabele toe te wijzen. De operator += wordt specifiek aangeduid als de toewijzingsoperator voor optellen.

Code schrijven om een waarde te verhogen en te verlagen

  1. Selecteer alle code in de .NET-editor en druk op Delete of Backspace om deze te verwijderen.

  2. Voer de volgende code in de .NET-editor in:

    int value = 1;
    
    value = value + 1;
    Console.WriteLine("First increment: " + value);
    
    value += 1;
    Console.WriteLine("Second increment: " + value);
    
    value++;
    Console.WriteLine("Third increment: " + value);
    
    value = value - 1;
    Console.WriteLine("First decrement: " + value);
    
    value -= 1;
    Console.WriteLine("Second decrement: " + value);
    
    value--;
    Console.WriteLine("Third decrement: " + value);
    
  3. Voer de code uit. U moet de volgende uitvoer zien:

    First increment: 2
    Second increment: 3
    Third increment: 4
    First decrement: 3
    Second decrement: 2
    Third decrement: 1
    

Notitie

In de 'tweede stap' hebt u gebruikt value += 1;. U kunt echter elke letterlijke int waarde (of een variabele) gebruiken om dat bedrag te verhogen. Hetzelfde geldt voor de 'tweede verlaging': value -= 1;.

De operatoren voor incrementeel en verlagen positioneren

Zowel de operatoren voor verhoging als verlagen hebben een interessante kwaliteit, afhankelijk van hun positie, voeren ze hun bewerking uit voor of na het ophalen van hun waarde. Met andere woorden, als u de operator gebruikt vóór de waarde zoals in ++value, vindt de verhoging plaats voordat de waarde wordt opgehaald. Op dezelfde manier verhoogt value++ de waarde nadat de waarde is opgehaald.

De operator incrementeel vóór en na de waarde gebruiken

  1. Verwijder de code uit de vorige stappen en voer de volgende code in de .NET-editor in:

    int value = 1;
    value++;
    Console.WriteLine("First: " + value);
    Console.WriteLine($"Second: {value++}");
    Console.WriteLine("Third: " + value);
    Console.WriteLine("Fourth: " + (++value));
    
  2. Voer de code uit. U moet de volgende uitvoer zien:

    First: 2
    Second: 2
    Third: 3
    Fourth: 4
    

U ziet deze regel code:

Console.WriteLine($"Second: {value++}");

Voor deze regel worden twee stappen uitgevoerd:

  1. Haal de huidige waarde van de variabele value op en gebruik deze in de bewerking voor de tekenreeksinterpolatie.
  2. Verhoog de waarde.

In de volgende regel code wordt bevestigd dat de waarde inderdaad is verhoogd.

Console.WriteLine("Third: " + value);

Bekijk de laatste regel code daarentegen:

Console.WriteLine("Fourth: " + (++value));

Hier is de volgorde van de bewerkingen omgedraaid, omdat de operator ++ vóór de operand value is geplaatst.

  1. Verhoog de waarde.
  2. Haal de nieuwe incrementele waarde van de variabele value op en gebruik deze in de tekenreeksbewerking.

Hoewel dit niet strikt noodzakelijk is, hebt u haakjes rond de expressie (++value) toegevoegd om de leesbaarheid te verbeteren. Door zoveel +-operators naast elkaar te plaatsen kan dit voor andere ontwikkelaars verwarrend zijn. Stilistische beslissingen zoals deze zijn subjectief. Omdat u de code echter eenmaal schrijft, maar deze vaak leest, moet u prioriteit geven aan de leesbaarheid.

Samenvatting

Dit is wat u tot nu toe hebt geleerd over wiskundige bewerkingen in C#:

  • Gebruik samengestelde-toewijzingsoperators, zoals +=, -=, *=, ++ en --, om een rekenkundige bewerking zoals verhogen of verlagen uit te voeren en wijs vervolgens het resultaat toe aan de oorspronkelijke variabele.
  • Operators voor verhogen en verlagen hebben een verschillende werking afhankelijk van het feit of de operator zich vóór of na de operand bevindt.