美元符号不会在 c# 中插入括号

Dollar sign doesn`t interpolate brackets in c#

我正在尝试使用使用 $(美元符号)的 c# 功能创建一个字符串。结果会像这样 {{name}}。我唯一捕获的是名字,然后我想做一些像 E.G

$"{{name}}"

所以我的问题是如何捕捉整个事物?在字符串中包括括号?例如“{{name}}”? 看来我不能用 $ 符号来做到这一点。

这是我试过的

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

该模板有一些占位符,例如 {{thisIsPlaceholder}}。我想更换整个东西 {{thisIsPlaceholder}} 带 E.G 杯

或者我应该使用正则表达式来创建该字符串吗?

你可能想要 $"{{{{{paramsHtml.Name}}}}}".

第一个和第二个 {{ 是文字 { 的转义字符,最后一个 { 是内插字符串中占位符的开始。 } 也是如此。

但是,此时写 "{{" + paramsHtml.Name + "}}" 可能更清楚——在这种情况下,它编译成相同的东西。