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