Oefening: tekenreeksen combineren met behulp van tekenreeksinterpolatie

Voltooid

Hoewel het samenvoegen van tekenreeksen eenvoudig en handig is, neemt de populariteit van tekenreeksinterpolatie toe in situaties waarin u veel letterlijke tekenreeksen en variabelen moet combineren tot één opgemaakt bericht.

Wat is tekenreeksinterpolatie?

Met tekenreeksinterpolatie worden meerdere waarden gecombineerd tot één letterlijke tekenreeks met behulp van een sjabloon en een of meer interpolatie-expressies. Een interpolatie-expressie wordt aangegeven door een symbool voor openen en sluiten van accolades { }. U kunt elke C#-expressie plaatsen die een waarde in de accolades retourneert. De letterlijke tekenreeks wordt een sjabloon wanneer deze het teken $ als voorvoegsel krijgt.

Stel dus dat u eigenlijk de volgende coderegel wilt schrijven:

string message = greeting + " " + firstName + "!";

Dan kunt u in plaats daarvan ook deze beknoptere coderegel schrijven:

string message = $"{greeting} {firstName}!";

In dit eenvoudige voorbeeld bespaart u enkele toetsaanslagen. U kunt zich echter vast voorstellen hoeveel beknopter tekenreeksinterpolatie kan zijn bij complexere bewerkingen. Daarnaast vinden velen de syntaxis van de tekenreeksinterpolatie duidelijker en gemakkelijker te lezen.

In de volgende oefening gaat u de vorige berichten herschrijven met behulp van tekenreeksinterpolatie.

Tekenreeksinterpolatie gebruiken om een letterlijke tekenreeks en een variabelewaarde te combineren

Als u twee tekenreeksen wilt interpoleren, maakt u een letterlijke tekenreeks en voegt u het $-symbool als voorvoegsel toe aan de tekenreeks. De letterlijke tekenreeks moet ten minste één set accolades {} bevatten en binnen die tekens gebruikt u de naam van een variabele.

  1. Selecteer alle code in de .NET-editor en druk op Delete of Backspace om deze te verwijderen.

  2. Voer de volgende code in de .NET-editor in:

    string firstName = "Bob";
    string message = $"Hello {firstName}!";
    Console.WriteLine(message);
    
  3. Voer de code nu uit. U ziet het volgende resultaat in de uitvoerconsole:

    Hello Bob!
    

Tekenreeksinterpolatie gebruiken met meerdere variabelen en letterlijke tekenreeksen

U kunt verschillende interpolatiebewerkingen uitvoeren in dezelfde coderegel.

  1. Wijzig de code die u eerder hebt geschreven naar het volgende:

    int version = 11;
    string updateText = "Update to Windows";
    string message = $"{updateText} {version}";
    Console.WriteLine(message);
    
  2. Voer de code nu uit. U ziet het volgende resultaat in de uitvoerconsole:

    Update to Windows 11
    

Tussenliggende variabelen vermijden

Net zoals u in de vorige oefening hebt gedaan, kunt u de tijdelijke variabele elimineren om het bericht op te slaan.

  1. Wijzig de code die u eerder hebt geschreven naar het volgende:

    int version = 11;
    string updateText = "Update to Windows";
    Console.WriteLine($"{updateText} {version}!");
    
  2. Voer de code nu uit. Het resultaat in de uitvoerconsole moet hetzelfde zijn, zelfs als u de code hebt vereenvoudigd:

    Update to Windows 11!
    

Letterlijke letterlijke bewoordingen en tekenreeksinterpolatie combineren

Stel dat u een letterlijke verbatimwaarde moet gebruiken in uw sjabloon. U kunt het voorvoegselsymbool voor letterlijke verbatimwaarden @ en het symbool voor tekenreeksinterpolatie $ tegelijk gebruiken.

  1. Verwijder de code uit de vorige stappen en typ de volgende code in de .NET-editor:

    string projectName = "First-Project";
    Console.WriteLine($@"C:\Output\{projectName}\Data");
    
  2. Voer de code nu uit om het volgende resultaat te krijgen.

    C:\Output\First-Project\Data
    

    In dit voorbeeld kunt u met het $ symbool naar de projectName variabele in de accolades verwijzen, terwijl u met het @ symbool het niet-gescapede \ teken kunt gebruiken.

Samenvatting

Dit is wat u tot nu toe hebt geleerd over tekenreeksinterpolatie:

  • Tekenreeksinterpolatie is een verbetering van tekenreekssamenvoeging doordat hiermee het aantal tekens wordt beperkt dat in bepaalde situaties nodig is.
  • U kunt tekenreeksinterpolatie en letterlijke verbatimwaarden combineren door de symbolen voor beide te combineren en het resultaat als voorvoegsel voor de tekenreekssjabloon te gebruiken.