Cvičení – kombinování řetězců pomocí interpolace řetězců
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é.
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.
Do editoru kódu jazyka C# zadejte následující kód:
string firstName = "Bob"; string message = $"Hello {firstName}!"; Console.WriteLine(message);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.
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.
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);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.
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}!");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ů.
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");Teď spusťte kód a měli byste vidět následující výsledek.
C:\Output\First-Project\DataV tomto příkladu
$symbol umožňuje odkazovat naprojectNamepromě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.