Cvičení – kombinování řetězců pomocí interpolace řetězců

Dokončeno

Zatímco zřetězení řetězců je jednoduché a pohodlné, interpolace řetězců roste v situacích, kdy potřebujete zkombinovat mnoho literálových řetězců a proměnných do jedné formátované zprávy.

Co je interpolace řetězců?

Interpolace řetězců kombinuje více hodnot do jednoho literálového řetězce pomocí "šablony" a jednoho nebo více interpolačních výrazů. Interpolační výraz je označen levou a pravou složenou závorkou { }. Do složených závorek můžete vložit libovolný výraz jazyka C#, který vrátí hodnotu. Literálový řetězec se stane šablonou, když je předponou znaku $ .

Jinými slovy, místo psaní následujícího řádku kódu:

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

Místo toho můžete napsat tento stručnější řádek kódu:

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

V tomto jednoduchém příkladu uložíte několik stisknutí kláves. Můžete si představit, kolik stručnějších interpolací řetězců může být v složitějších operacích. Kromě toho mnoho z nich najde syntaxi interpolace řetězců čistější a snadněji čitelné.

V následujícím cvičení přepíšete předchozí zprávy pomocí interpolace řetězců.

Použití interpolace řetězců ke kombinování literálového řetězce a hodnoty proměnné

Chcete-li interpolovat dva řetězce dohromady, vytvoříte literálový řetězec a předponu $ řetězce symbolem. Řetězec literálu by měl obsahovat alespoň jednu sadu složených závorek {} a uvnitř těchto znaků použijte název proměnné.

  1. Vyberte veškerý kód, který jste napsali dříve v editoru kódu jazyka C#, a stisknutím kláves Delete nebo Backspace ho odstraňte.

  2. Do editoru kódu jazyka C# zadejte následující kód:

    string firstName = "Bob";
    string message = $"Hello {firstName}!";
    Console.WriteLine(message);
    
  3. Teď tento kód spusťte. Na výstupní konzole uvidíte následující výsledek:

    Hello Bob!
    

Použití interpolace řetězců s více proměnnými a řetězci literálů

Na stejném řádku kódu můžete provádět několik operací interpolace.

  1. Vyberte veškerý kód, který jste napsali dříve v editoru kódu jazyka C#, a stisknutím kláves Delete nebo Backspace ho odstraňte.

  2. Do editoru kódu jazyka C# zadejte následující kód:

    int version = 11;
    string updateText = "Update to Windows";
    string message = $"{updateText} {version}";
    Console.WriteLine(message);
    
  3. Teď tento kód spusťte. Na výstupní konzole uvidíte následující výsledek:

    Update to Windows 11
    

Vyhněte se přechodným proměnným

Stejně jako v předchozím cvičení můžete odstranit dočasnou proměnnou pro uložení zprávy.

  1. Upravte kód, který jste napsali dříve, následujícím způsobem:

    int version = 11;
    string updateText = "Update to Windows";
    Console.WriteLine($"{updateText} {version}!");
    
  2. Teď tento kód spusťte. Výsledek ve výstupní konzole by měl být stejný i v případě, že jste kód zjednodušili:

    Update to Windows 11!
    

Kombinování doslovných literálů a interpolace řetězců

Předpokládejme, že v šabloně potřebujete použít doslovný literál. Můžete použít symbol @ doslovné předpony literálu i symbol interpolace $ řetězců.

  1. Odstraňte kód z předchozích kroků a do editoru kódu jazyka C#zadejte následující kód:

    string projectName = "First-Project";
    Console.WriteLine($@"C:\Output\{projectName}\Data");
    
  2. Teď spusťte kód a měli byste vidět následující výsledek.

    C:\Output\First-Project\Data
    

    V tomto příkladu $ symbol umožňuje odkazovat na projectName proměnnou uvnitř složených závorek, zatímco @ symbol umožňuje použít nepoužítelný \ znak.

Rekapitulace

O interpolaci řetězců jste se zatím dozvěděli:

  • Interpolace řetězců zlepšuje zřetězení řetězců snížením počtu znaků požadovaných v některých situacích.
  • Interpolaci řetězců a doslovné literály můžete kombinovat kombinací symbolů pro každou z nich a použitím této předpony pro šablonu řetězce.