Gyakorlat – Sztringek kombinálása karakterlánc-interpolációval
Noha a sztringek összefűzése egyszerű és kényelmes, egyre népszerűbbé válik a sztringek interpolációja olyan esetekben, amikor sok literális sztringet és változót kell egyesíteni egyetlen formázott üzenetben.
Mit jelen a sztringinterpoláció?
A sztringinterpoláció több értéket egyesít egyetlen literál sztringbe egy „sablon” és egy vagy több interpolációs kifejezés használatával. Az interpolációs kifejezést nyitó és záró kapcsos zárójel szimbólum { }
jelzi. Bármilyen C#-kifejezést elhelyezhet, amely értéket ad vissza a kapcsos zárójelek között. A literális sztringből sablon lesz, ha a $
karakter előtaggal van ellátva.
Más szóval a következő kódrészlet írása helyett:
string message = greeting + " " + firstName + "!";
Ezt a tömörebb kódsort is írhatja:
string message = $"{greeting} {firstName}!";
Ebben az egyszerű példában néhány billentyűleütést spóroltunk meg. Elképzelheti azonban, hogy összetettebb műveletek esetén mennyire tömörebb lehet a sztringinterpoláció. Emellett a sztringinterpoláció szintaxisa sokak számára világosabb és könnyebben olvasható.
A következő gyakorlatban sztringinterpolációval fogja újraírni az előző üzeneteket.
Sztringinterpoláció használata egy literális sztring és egy változó érték kombinálásához
Ha két sztringet szeretne interpolálni, egy literális sztringet kell létrehoznia, majd a $
szimbólum előtaggal ellátnia. A literális sztringnek legalább egy kapcsos zárójelet {}
kell tartalmaznia, és a változó nevét használó karaktereken belül.
Jelölje ki az összes kódot a .NET-szerkesztőben, majd a Törlés vagy a Backspace billentyű lenyomásával törölje azt.
Írja be a következő kódot a .NET-szerkesztőbe:
string firstName = "Bob"; string message = $"Hello {firstName}!"; Console.WriteLine(message);
Most futtassa a kódot. A kimeneti konzolon a következő eredmény jelenik meg:
Hello Bob!
Sztring interpoláció használata több változóval és literális sztringgel
Ugyanabban a kódsorban több interpolációs műveletet is elvégezhet.
Módosítsa a korábban írt kódot a következőre:
int version = 11; string updateText = "Update to Windows"; string message = $"{updateText} {version}"; Console.WriteLine(message);
Most futtassa a kódot. A kimeneti konzolon a következő eredmény jelenik meg:
Update to Windows 11
Köztes változók elkerülése
Az előző gyakorlathoz hasonlóan az üzenet tárolására használt ideiglenes változót is megszüntetheti.
Módosítsa a korábban írt kódot a következőre:
int version = 11; string updateText = "Update to Windows"; Console.WriteLine($"{updateText} {version}!");
Most futtassa a kódot. A kimeneti konzol eredményének akkor is azonosnak kell lennie, ha egyszerűsítette a kódot:
Update to Windows 11!
Szó szerinti literálok és sztringek interpolációjának kombinálása
Tegyük fel, hogy egy verbatim literált kell használnia a sablonban. A verbatim literál előtag szimbólumát (@
) és a sztringinterpoláció szimbólumát ($
) együtt is használhatja.
Törölje a kódot az előző lépésekből, és írja be a következő kódot a .NET-szerkesztőbe:
string projectName = "First-Project"; Console.WriteLine($@"C:\Output\{projectName}\Data");
Most a kód futtatásakor az alábbi eredményt kell kapnia.
C:\Output\First-Project\Data
Ebben a példában a
$
szimbólum lehetővé teszi, hogy a kapcsos zárójelek között hivatkozzon aprojectName
változóra, míg a@
szimbólum lehetővé teszi a nem kibontott\
karakter használatát.
Összefoglalás
A sztringek interpolációjával kapcsolatban eddig a következőket tanulta:
- A sztringinterpoláció fejlettebb, mint a sztringek összefűzése, mivel bizonyos esetekben csökkenti a szükséges karakterek számát.
- A sztringinterpolációt és a verbatim literálokat egyszerre is használhatja, ha ezek szimbólumait kombinálja, és ezeket a sztringsablon előtagjaként használja.