Drop hier links of afbeeldingen om ze aan de editor toe te voegen.

Tot nu toe maakten we de tekst die we wilden tonen telkens door verschillende stukken met de +-operator aan elkaar te plakken:

Console.Write("Oef " + (i + 1) + " Hoeveel is " + getal1 + " + " + getal2 + " ? ");

Met al die +-tekens wordt het soms moeilijk om de vorm van het resultaat nog te zien tussen alle aanhalingstekens. C# biedt daarom een nettere manier: placeholders.

Placeholders met genummerde accolades

In plaats van alles aan elkaar te plakken, schrijf je de tekst in één stuk en zet je op de plaatsen waar een waarde moet komen een placeholder: een paar accolades met daarin een getal. De waarden geef je daarna als extra parameters mee aan Write (of WriteLine):

Console.Write("{0}) Hoeveel is {1} + {2} ? ", i + 1, getal1, getal2);

Elke placeholder wordt vervangen door de overeenkomstige parameter:

PlaceholderWordt vervangen door
{0}de eerste extra parameter: i + 1
{1}de tweede extra parameter: getal1
{2}de derde extra parameter: getal2

Let op de nummering: placeholders beginnen bij 0. {0} verwijst dus naar de eerste extra parameter, {1} naar de tweede, enzovoort.

Hetzelfde resultaat, beter leesbaar

De twee manieren hieronder doen exact hetzelfde:

// met +-operator
Console.WriteLine("Je hebt " + aantalJuiste + " sommen juist gemaakt.");

// met placeholder
Console.WriteLine("Je hebt {0} sommen juist gemaakt.", aantalJuiste);

Bij de tweede vorm zie je de zin in één keer staan, met op de juiste plaats een {0}. Voor langere teksten met meerdere waarden is dat vaak een pak overzichtelijker dan een lange ketting van +-tekens.

Je mag een placeholder ook meerdere keren gebruiken, of in een andere volgorde dan de parameters. "{0} en nog eens {0}" met parameter 5 geeft 5 en nog eens 5.

Of je nu placeholders of de +-operator gebruikt, maakt voor de uitvoer geen verschil: kies wat voor jou het duidelijkst leest. In de oefeningen hierna mag je allebei gebruiken.