无法在插值字符串中使用字面花括号

4

我一直在仔细阅读这篇SO文章,尝试在我的插值字符串周围加上花括号。

string testString = "foo";
string testResult1 = $"{testString}"; // result = "foo" as expected
string testResult2 = $"{{testString}}"; // result = "{testString}" - UH OH

我的期望结果是 "{foo}",针对 testResult2。我已经尝试使用反斜杠转义外部花括号,但这并不起作用,而且我也没指望它有用。如何在插值字符串变量周围放置文字花括号?一个更准确的例子是:
string testResult3 = $"I want to eat some {{testString}} please.";

期望输出结果: "我想要吃一些{foo},请。"

实际输出结果:"我想要吃一些{testString},请。"

如何让它正常工作?(我还尝试了在$"之间加上@,但是没有成功。)


5
两个花括号会被解释为一个实际的花括号。因此,你需要使用三个花括号:string testResult2 = $"{{{testString}}}"; 来生成 {foo} - Chris R. Timmons
@ChrisR.Timmons 这更适合作为一个答案 :) - Ousmane D.
我们有一个获胜者... Chris,请以此形式发布你的答案。 - HerrimanCoder
1个回答

6

来自Chris R. Timmons的回答:

两个花括号会被解析为一个花括号字符。因此,您需要使用三个花括号:

string testResult2 = $"{{{testString}}}";

...生成{foo}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接