C#escape花括号不能使用格式修饰符?

时间:2015-12-10 17:13:12

标签: c#

我知道我们可以使用{{}}在C#中转义大括号。但是如果它们正好在格式修饰符之后(例如{0:F6}),它们似乎不能很好地工作。

string str;

// Prints "{3.14}" as expected
str = string.Format("{{{0}}}", 3.14);
Console.WriteLine(str);

// Expected "{3.140000}", found "{F6}"
str = string.Format("{{{0:F6}}}", 3.14);
Console.WriteLine(str);

2 个答案:

答案 0 :(得分:6)

这是C#处理大括号的方式,众所周知。 See here

你可以像这样逃避它(例如,有不同的方式):

 var str = string.Format("{0}{1:F6}{2}", "{", 3.14, "}");
 Console.WriteLine(str);

答案 1 :(得分:1)

试试这个:

 String.Format("{0}{1:F6}{2}", "{",3.14, "}")