如何在代码段中转义字符串插值

Mat*_*and 7 c# visual-studio code-snippets

字符串插值很棒,片段也很棒,但它们不能很好地结合在一起。我有一个看起来(部分)像这样的片段:

job.Location = $"{e["$locationfield$"]}";
return true;
Run Code Online (Sandbox Code Playgroud)

locationfield零件应该是替代品,但当然它会'"{e["被视为替代品。因此,当您尝试使用该代码段时,该部分就搞砸了:

job.Location = locationfield
Run Code Online (Sandbox Code Playgroud)

后面的其余代码已经消失(因为它可能无法匹配另一个$)。

有没有办法解决这个问题?或者你能不能在你的代码片段中不使用字符串插值?

Mat*_*and 7

好吧,事实证明,这太简单了。我一时兴起做了这个,它奏效了:

job.Location = $$"{e["$locationfield$"]}";
return true;
Run Code Online (Sandbox Code Playgroud)

我没有尝试的另一个解决方案是,您实际上可以指定代码段应用作分隔符的内容:

<Code Language="csharp" Delimiter="$">
Run Code Online (Sandbox Code Playgroud)

只需将 更改为$您在此特定代码块中未使用的其他内容。