Как вы используете дословные строки с интерполяцией?


В C#6 появилась новая функция: интерполированные строки.

они позволяют помещать выражения непосредственно в код, а не полагаться на индексы:

string s = string.Format("Adding "{0}" and {1} to foobar.", x, this.Y());

будет:

string s = $"Adding "{x}" and {this.Y()} to foobar.";

однако у нас есть много строк в нескольких строках, используя дословные строки (в основном SQL-операторы), такие как:

string s = string.Format(@"Result...
Adding ""{0}"" and {1} to foobar:
{2}", x, this.Y(), x.GetLog());

возврат их к обычным строкам кажется беспорядочным:

string s = "Result...rn" +
$"Adding "{x}" and {this.Y()} to foobar:rn" +
x.GetLog().ToString();

как использовать дословные и интерполированные строки вместе?

1 88

1 ответ:

вы можете применять как $ и @ префиксы к одной строке:

string s = $@"Result...
Adding ""{x}"" and {this.Y()} to foobar:
{x.GetLog()}";