Strings textuales interpoladas en C# 8.0

Requisito previo: interpolación de strings y string textual

Antes de C# 8.0, puede usar la interpolación de strings ($) y el identificador literal (@) juntos, pero en una secuencia específica. Significa que cuando usa el token $y el token @ juntos, es necesario que el token $aparezca antes que el token @. Si usa el token @ antes del token $, entonces el compilador le dará un error, como se muestra en el siguiente ejemplo:

Ejemplo 1:

// C# program to illustrate the use
// of interpolated verbatim strings
using System;
   
class GFG {
      
    // Main Method
    static void Main()
    {
        int Base = 10;
        int Height = 30;
        int area = (Base * Height) / 2;
   
        // Here, $ token appears before @ token
        Console.WriteLine("Finding the area of a triangle:");
        Console.WriteLine($@"Height = ""{Height}"" and Base = ""{Base}""");
        Console.WriteLine($@"Area = ""{area}""");
    }
}

Producción:

Finding the area of a triangle:
Height = "30" and Base = "10"
Area = "150"

Ejemplo 2:

// C# program to illustrate the use 
// of interpolated verbatim strings
using System;
   
class GFG {
      
    // Main Method
    static void Main()
    {
        int Base = 10;
        int Height = 30;
        int area = (Base * Height) / 2;
   
        // Here, @ token appears before $ token
        // But the compiler will give an error
        Console.WriteLine("Finding the area of a triangle:");
        Console.WriteLine(@ $"Height = ""{Height}"" and Base = ""{Base}""");                   
        Console.WriteLine(@ $"Area = ""{area}""");
    }
}

Error:

error CS1646: palabra clave, identificador o string esperada después del especificador literal: @
error CS1646: palabra clave, identificador o string esperada después del especificador literal: @

Cuando usamos un token @ antes del token $, el compilador da un error. Este problema se resuelve en C# 8.0, ahora puede usar un token @ antes de token $o token $antes de @ token

$@"..."
Or
@$"..."

y el compilador no dará un error. Como se muestra en el siguiente ejemplo:

Ejemplo:

// C# program to illustrate the use
// of interpolated verbatim strings
using System;
   
namespace Geeks {
      
class GFG {
      
    // Main Method
    static void Main(string[] args)
    {
        int Base = 40;
        int Height = 80;
        int area = (Base * Height) / 2;
        Console.WriteLine("Finding the area of a triangle:");
   
        // Here, $ token appears before @ token
        Console.WriteLine($@"Height = ""{Height}"" and Base = ""{Base}""");
   
        // Here, @ token appears before $ token
        Console.WriteLine(@$"Area = ""{area}""");
    }
}
}

Producción:

Finding the area of a triangle:
Height = "80" and Base = "40"
Area = "1600"

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *