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.
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:
| Placeholder | Wordt 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.
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 parameter5geeft5 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.