Как вы используете дословные строки с интерполяцией?
В 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...\r\n" +
$"Adding \"{x}\" and {this.Y()} to foobar:\r\n" +
x.GetLog().ToString();
Как использовать как дословные, так и интерполированные строки вместе?
1 ответ
Решение
Вы можете применить оба $
а также @
префиксы к той же строке:
string s = $@"Result...
Adding ""{x}"" and {this.Y()} to foobar:
{x.GetLog()}";