c# - programacion - ¿Cómo se utilizan cadenas literales con interpolación?
manual de c# (1)
En C # 6 hay una nueva característica: cadenas interpoladas.
Estos le permiten poner expresiones directamente en el código, en lugar de depender de índices:
string s = string.Format("Adding /"{0}/" and {1} to foobar.", x, this.Y());
Se convierte en:
string s = $"Adding /"{x}/" and {this.Y()} to foobar.";
Sin embargo, tenemos muchas cadenas a través de varias líneas usando cadenas literales (principalmente sentencias SQL) como esta:
string s = string.Format(@"Result...
Adding ""{0}"" and {1} to foobar:
{2}", x, this.Y(), x.GetLog());
Revertir estos a cadenas regulares parece desordenado:
string s = "Result.../r/n" +
$"Adding /"{x}/" and {this.Y()} to foobar:/r/n" +
x.GetLog().ToString();
¿Cómo uso las cadenas textuales e interpoladas juntas?
Puede aplicar los prefijos
$
y
@
a la misma cadena:
string s = $@"Result...
Adding ""{x}"" and {this.Y()} to foobar:
{x.GetLog()}";
Desde que se
introdujo en C # 6
,
las cadenas textuales interpoladas
tuvieron que comenzar con los tokens
$@
,
pero a partir de C # 8, puede usar
$@
o
@$
.