Экранирующие скобки в необработанном строковом литерале C#C#

Место общения программистов C#
Ответить
Anonymous
 Экранирующие скобки в необработанном строковом литерале C#

Сообщение Anonymous »

Мне нужны фигурные скобки в необработанном строковом литерале, использующем интерполяцию:

Код: Выделить всё

var bar = "Bar";
var s = $"""
Foo
{bar}
Baz
{{Qux}}
""";
Console.WriteLine(s);
Я ожидаю, что на выходе будет "Foo\n Bar\n Baz\n {{Qux}}", но он не скомпилируется:

Интерполированный необработанный строковый литерал не начинается с достаточного количества символов '$', чтобы можно было использовать такое количество последовательных открывающих скобок в качестве содержимого CS9006
Документы, ссылки на которые приведены выше. состояние:

Необработанные строковые литералы также можно комбинировать с интерполированными строками для встраивания символов { и } в выходную строку. Вы используете несколько символов $ в интерполированном необработанном строковом литерале, чтобы встроить символы { и } в выходную строку, не экранируя их.

Я попробовал ${${ Qux$}$} и другие комбинации; никто не компилируется.
Я не могу найти примеров. Как это делается?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-literal
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»