Знак доллара не интерполирует скобки в c# - PullRequest
1 голос
/ 19 марта 2020

Я пытаюсь создать строку с функцией c#, которая использует $ (знак доллара). Результат будет таким: {{name}} . Единственное, что я фиксирую по имени, и затем хочу сделать что-то вроде EG

$ "{{name}}"

Так что мой вопрос - как сделать Все это? включая скобки в строку? EG "{{name}}"? Кажется, что я не могу сделать это со знаком $.

Это то, что я пробовал

emailHtmlBuilder.Replace($"{{paramsHtml.Name}}", HttpUtility.HtmlEncode(paramsHtml.Value))};

В шаблоне есть несколько заполнителей EG {{thisIsPlaceholder}} . И я хочу заменить все это {{thisIsPlaceholder}} на EG cup

Или я должен использовать регулярное выражение для создания этой строки?

1 Ответ

5 голосов
/ 19 марта 2020

Вы, вероятно, хотите $"{{{{{paramsHtml.Name}}}}}".

Первый и второй {{ являются escape-символами для литерала {, а последний { является началом заполнителя в интерполированной строке , Точно так же }.

Однако, вероятно, на этом этапе будет проще написать "{{" + paramsHtml.Name + "}}" - в данном случае это компилируется так же.

...