Gyakorlat – Sztringek kombinálása karakterlánc-interpolációval

Befejeződött

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.

  1. 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.

  2. Írja be a következő kódot a .NET-szerkesztőbe:

    string firstName = "Bob";
    string message = $"Hello {firstName}!";
    Console.WriteLine(message);
    
  3. 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.

  1. 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);
    
  2. 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.

  1. 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}!");
    
  2. 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.

  1. 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");
    
  2. 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 a projectName 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.