Øvelse – Kombiner strenge ved hjælp af strenginterpolering
Selvom strengsammenkædning er enkel og praktisk, vokser strenginterpolation i popularitet i situationer, hvor du har brug for at kombinere mange bogstavelige strenge og variabler til en enkelt formateret meddelelse.
Hvad er strenginterpolering?
Strenginterpolation kombinerer flere værdier til en enkelt konstantstreng ved hjælp af en "skabelon" og et eller flere interpolationsudtryk. Et interpolationsudtryk er angivet med et krøllet kløftsymbol { }ved åbning og lukning . Du kan placere et hvilket som helst C#-udtryk, der returnerer en værdi, i klammeparenteserne. Den konstante streng bliver en skabelon, når den har tegnet foran $ sig.
Med andre ord, i stedet for at skrive følgende kodelinje:
string message = greeting + " " + firstName + "!";
Du kan skrive denne mere kortfattede kodelinje i stedet:
string message = $"{greeting} {firstName}!";
I dette enkle eksempel gemmer du et par tastetryk. Du kan forestille dig, hvor meget mere kortfattet strenginterpolation kan være i mere komplekse operationer. Desuden finder mange strenginterpolationssyntaksen renere og lettere at læse.
I den følgende øvelse skal du omskrive de tidligere meddelelser ved hjælp af strenginterpolation.
Brug strenginterpolation til at kombinere en konstantstreng og en variabel værdi
Hvis du vil interpolere to strenge sammen, skal du oprette en bogstavelig streng og sætte symbolet $ foran strengen. Den konstante streng skal indeholde mindst ét sæt krøllede klammeparenteser, {} og inde i disse tegn skal du bruge navnet på en variabel.
Vælg al den kode, du tidligere har skrevet i C#-kodeeditoren, og tryk på Delete eller Backspace for at slette den.
Indtast følgende kode i C#-kodeeditoren:
string firstName = "Bob"; string message = $"Hello {firstName}!"; Console.WriteLine(message);Kør nu koden. Du får vist følgende resultat i outputkonsollen:
Hello Bob!
Brug strenginterpolation med flere variabler og konstantstrenge
Du kan udføre flere interpolationshandlinger i samme kodelinje.
Vælg al den kode, du tidligere har skrevet i C#-kodeeditoren, og tryk på Delete eller Backspace for at slette den.
Indtast følgende kode i C#-kodeeditoren:
int version = 11; string updateText = "Update to Windows"; string message = $"{updateText} {version}"; Console.WriteLine(message);Kør nu koden. Du får vist følgende resultat i outputkonsollen:
Update to Windows 11
Undgå mellemliggende variabler
Ligesom du gjorde i den forrige øvelse, kan du fjerne den midlertidige variabel for at gemme meddelelsen.
Rediger den kode, du skrev tidligere, til følgende:
int version = 11; string updateText = "Update to Windows"; Console.WriteLine($"{updateText} {version}!");Kør nu koden. Resultatet i outputkonsollen skal være det samme, selvom du har forenklet koden:
Update to Windows 11!
Kombinere ordrede konstanter og strenginterpolation
Antag, at du skal bruge en ordret bogstavelig i din skabelon. Du kan bruge både det ordrede bogstavelige præfikssymbol @ og strenginterpolationssymbolet $ sammen.
Slet koden fra de foregående trin, og skriv følgende kode i C#-kodeeditoren:
string projectName = "First-Project"; Console.WriteLine($@"C:\Output\{projectName}\Data");Kør nu koden, og du skulle se følgende resultat.
C:\Output\First-Project\DataI dette eksempel giver symbolet
$dig mulighed for at referere til variablenprojectNameinde i klammeparenteserne, mens symbolet@giver dig mulighed for at bruge det ikke-escapede\tegn.
Resumé
Her er, hvad du har lært om strenginterpolation indtil videre:
- Strenginterpolation giver en forbedring i forhold til strengsammenkædning ved at reducere antallet af tegn, der kræves i nogle situationer.
- Du kan kombinere strenginterpolation og ordret konstanter ved at kombinere symbolerne for hver og bruge det som et præfiks for strengskabelonen.