De eerste stap
Gebruik name om de begroeting Welkom, Sam! op de eerste regel te tonen.
Een sportclub verstuurt een bericht met de naam van een deelnemer en het aantal minuten van de volgende training. Die gegevens kunnen veranderen terwijl de zin dezelfde vorm houdt. Met geïnterpoleerde tekst zet je de veranderlijke delen precies waar de lezer ze nodig heeft.
Het type string gebruik je voor tekst. string athlete = "Lina"; maakt een variabele met de naam athlete en de tekstwaarde Lina. De aanhalingstekens begrenzen de vaste tekst in de code en verschijnen niet in de uitvoer.
Een variabelenaam gebruik je zonder aanhalingstekens wanneer je haar bewaarde waarde wilt lezen. Dat werkt bij tekst net als bij de getallen uit de vorige les. Console.WriteLine(athlete); toont hier dus de naam van de deelnemer.
Interpolatie betekent hier dat C# waarden invoegt in een vaste tekst. Een gewone geïnterpoleerde string begint met $ direct vóór het dubbele aanhalingsteken. Binnen de tekst markeren accolades { en } de invulplaatsen.
Bij $"Hoi, {athlete}!" wordt de naam athlete binnen de accolades gelezen. De vaste delen Hoi, en ! blijven staan en de bewaarde waarde komt ertussen. De accolades zelf worden niet afgedrukt.
De tekst buiten de accolades moet je precies schrijven zoals de lezer haar moet zien. Zet daarom zelf een spatie na de komma. Interpolatie vult waarden in, maar voegt geen ontbrekende leestekens of spaties toe.
Binnen een invulplaats mag ook een expressie staan: een stukje code dat een waarde oplevert. Een variabelenaam is zo'n expressie, maar een berekening zoals minutes + 5 ook. C# bepaalt eerst de uitkomst en voegt daarna de tekstweergave ervan in de zin in.
Bekijk in het voorbeeld welke delen vaststaan en welke uit gegevens worden gemaakt. Voorspel de trainingsduur en voer het programma uit.
using System;
string athlete = "Lina";
int minutes = 20;
Console.WriteLine($"Hoi, {athlete}!");
Console.WriteLine($"Volgende training: {minutes + 5} minuten.");
Console.WriteLine(minutes);Hoi, Lina! Volgende training: 25 minuten. 20
| Tekstdeel | Wat de lezer te zien krijgt |
|---|---|
Hoi, | De vaste begroeting, inclusief spatie. |
{athlete} | De waarde Lina. |
{minutes + 5} | De berekende waarde 25. |
minuten. | De vaste eenheid en punt. |
De berekening in de zin verandert minutes niet. De laatste uitvoerregel van het voorbeeld toont daarom nog de oorspronkelijke twintig minuten. Dit sluit aan op het verschil tussen een waarde berekenen en een waarde toekennen.
Zonder de $ is dit een gewone string. De namen en berekeningen tussen accolades worden dan niet ingevuld; het zijn letters in de tekst. Voer de foutvariant uit en kijk of de deelnemer een bruikbaar trainingsbericht krijgt.
using System;
string athlete = "Lina";
int minutes = 20;
Console.WriteLine("Hoi, {athlete}!");
Console.WriteLine("Volgende training: {minutes + 5} minuten.");Hoi, {athlete}!
Volgende training: {minutes + 5} minuten.
Je ziet letterlijk {athlete} en {minutes + 5}. De code is geldig, maar er heeft geen interpolatie plaatsgevonden. De reparatie is het dollarteken vóór het openende aanhalingsteken van beide berichten zetten.
De oefening geeft de naam name en het aantal afgeronde lessen lessons. Maak de begroeting met een invulplaats voor de naam. Gebruik voor het volgende lesnummer een invulplaats waarin je de benodigde optelling uitvoert.
Controleer de vaste tekst en de invulplaatsen afzonderlijk. Als een naam letterlijk tussen accolades verschijnt, controleer dan de $; als alleen een getal verkeerd is, lees dan de berekening. Beide fouten kunnen een andere oorzaak hebben terwijl de rest van je zin al klopt.
Gebruik name om de begroeting Welkom, Sam! op de eerste regel te tonen.
Gebruik lessons om Volgende les: 5 op de tweede regel te tonen. Tel er eerst één bij op.
string bewaart tekst en $ schakelt hier interpolatie in.Je kunt nu tekst tonen, rekenen en beide combineren. In een volgende module kies je met voorwaarden welke instructies nodig zijn.
Voer je code uit en ontdek
wat je hebt gemaakt.
Je hoeft het niet in één keer goed te doen. Na het uitvoeren zie je hier welke stappen al kloppen.