Interpolatie in C# is een techniek om stringwaarden te combineren met variabelen of
expressies in een eenvoudige, leesbare vorm. Het maakt gebruik van de $
-operator,
gevolgd door een string, waarbij je variabelen of expressies direct binnen de string kunt
plaatsen door ze tussen accolades {}
te zetten.
Basisconcept
Stel dat je een variabele hebt die je in een string wilt opnemen:
string naam = “An”;
int leeftijd = 25;
Met stringinterpolatie kun je deze variabelen eenvoudig in een string invoegen:
string boodschap = $”Mijn naam is {naam} en ik ben {leeftijd} jaar oud.”;
De resulterende waarde van boodschap
zou zijn:
“Mijn naam is An en ik ben 25 jaar oud.”
Voordelen van interpolatie
Het is eerste voordeel van interpolatie ‘+’ operator om strings samen te voegen, is interpolatie duidelijker en makkelijker te leven.
Het tweede voordeel is dat het minder foutgevoelig is om incorrecte gebruik van de operatoren te maken, bijvoorbeeld wanneer verschillende typen gecombineerd worden.
Naar het gebruik van variabelen, kunnen we ook expressies gebruiken binnen de accolades.
int a = 15;
int b = 17;
string resultaat = $”De som van {a} en {b} is {a + b}.”;
Dit zou resulteren in : “De som van 15 en 17 is 32.”
class="wp-block-heading">Formattering met interpolatie
Interpolatie maakt het ook mogelijk om waarden te formatteren. Bijvoorbeeld, je kunt een getal als valuta of met een bepaald aantal decimale weergeven:
double prijs = 29.95;
String formattedPrijs = $”De prijs is {prijs:C}.”; // Format als valuta
Als je ‘prijs:C’ gebruikt, wordt dit weergegeven als:
“De prijs is €29,95.”
Je kunt ook een datum formatteren:
DateTime vandaag = DateTime.Now; string formattedDatum = $”Vandaag is het {vandaag:dddd, d MMMM yyyy}.”;
Dit zou kunnen resulteren in::
“Vandaag is het dinsdag, 5 september 2024.”
Uitlijnen van tekst binnen een String
Je kan tekst uitlijnen binnen de accolades door een getal toe te voegen na de variable of expressie. Dit getal specificeert de breedte van het veld waarin de tekst moet worden weergegeven. Voor de uitlijning naar rechts te laten uitwijken; gebruik je een positief getal. Met eerder een negatief getal, zal de uitlijning naar links gebeuren.
class="wp-block-heading">Rechts uitlijnen
int number = 12;
Console.WriteLine($”Het getal is: {number,10}.”);
De levert de output:
Het getal is : ———-12. (- zijn spaties)
Links uitlijnen
int number = 14;
Console.WriteLine($”Het getal is: {number,-10}eind.”);
De levert de output:
Het getal is : 14———-eind. (- zijn spaties)
Specificeren van Getalformaties
Je kan formaten opstellen voor getallen, zoals het weergeven van een vast aantal decimalen of het meegeven van een valuta.
Weergeven van decimalen
double pi = 3.14159265359;
Console.WriteLine($”Pi, drie decimalen achter de komma: {pi:F3}”);
Dit levert de output:
drie decimalen achter de komma: 3.142
Weergeven van valuta
decimal price = 592.64m;
Console.WriteLine($”De prijs is: {price:C}”);
Dit levert de output:
De Prijs is: €592,64
Combineren van uitlijnen en getalformatie
Hieronder zie hoe je uitlijnen en getalformatie in één string kunt combineren.
double value = 584.3285;
Console.WriteLine($”De waarde van de double value is: {value,10:F2}”);
Dit levert de output:
De waarde van de double value is: 584,33
Samenvatting
Interpolatie in C# biedt een krachtige en flexibele mannier om string te maken die variabelen en expressies bevatten, terwijl de code leesbaar en onderhoudbaar blijft. Het vervangt de oudere manier van string concatenatie en maakt het formatteren van uitvoer eenvoudig.
Met string interpolatie kan je makkelijker variabelen en expressies verwerken in een string, die doe je met de {} en $ . Ook kan je teksten uitlijnen binnen een string door ze een veldbreedte mee te geven. Je kan er voor zorgen dat er maar een aantal decimalen worden weergeve, dit bv. om valuta aan te geven.