Gyakorlat – Sztringek kombinálása karakterlánc-interpolációval
Bár a sztringösszefűzés egyszerű és kényelmes, a sztringinterpoláció egyre népszerűbb olyan helyzetekben, amikor számos literális sztringet és változót kell egyetlen formázott üzenetbe egyesítenie.
Mit jelen a sztringinterpoláció?
A sztring interpolációja több értéket egyesít egyetlen literális sztringben 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 sztring sablonná válik, amikor $ karakterrel van ellátva.
Más szóval a következő kódsor írása helyett:
string message = greeting + " " + firstName + "!";
Ehelyett a következő tömörebb kódsort írhatja:
string message = $"{greeting} {firstName}!";
Ebben az egyszerű példában néhány billentyűleütést menthet. El tudja képzelni, hogy mennyivel tömörebbé válhat a karakterlánc-interpoláció összetettebb műveletekben. Emellett sokak véleménye szerint a string interpoláció szintaxisa tisztább é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 együtt interpolálni, létre kell hoznia egy literális sztringet, és előtagot kell adnia a sztringnek a $ szimbólummal. A literális sztringnek legalább egy kapcsos zárójelet {} kell tartalmaznia, és ezek között a változó nevét kell használni.
Jelölje ki a C#-kódszerkesztőben korábban írt összes kódot, és a Törlés vagy a Backspace billentyűkombinációt lenyomva törölje azt.
Írja be a következő kódot a C#-kódszerkesztő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!
Sztringinterpoláció használata több változóval és literál sztringekkel
Több interpolációs műveletet is végrehajthat ugyanabban a kódsorban.
Jelölje ki a C#-kódszerkesztőben korábban írt összes kódot, és a Törlés vagy a Backspace billentyűkombinációt lenyomva törölje azt.
Írja be a következő kódot a C#-kódszerkesztőbe:
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 karaktersorozat-interpoláció kombinálása
Tegyük fel, hogy a sablonban szó szerinti literált kell használnia. Használhatja a szó szerinti előtag szimbólumot @ és a sztring interpolációs szimbólumot $ együtt is.
Törölje a kódot az előző lépésekből, és írja be a következő kódot a C# kódszerkesztőbe:
string projectName = "First-Project"; Console.WriteLine($@"C:\Output\{projectName}\Data");Most futtassa a kódot, és a következő eredményt kell látnia.
C:\Output\First-Project\DataEbben a példában a
$szimbólum lehetővé teszi, hogy a kapcsos zárójelek között hivatkozzon aprojectNameváltozóra, míg a@szimbólum lehetővé teszi a nem kibontott\karakter használatát.
Összefoglalás
Eddig a következőket tanulta a sztringek interpolációjáról:
- A sztringinterpoláció a sztringösszefűzéssel szemben jobb eredményt ad azáltal, hogy csökkenti az egyes helyzetekben szükséges karakterek számát.
- Az interpolációs és szó szerinti literálokat egyesítheti azáltal, hogy az egyes szimbólumokat összekapcsolja, és ezt előtagként használja a sztringsablonhoz.