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

Chr*_*Xue 5 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);
Run Code Online (Sandbox Code Playgroud)

bla*_*nik 6

这就是C#处理大括号的方式,众所周知. 看这里

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

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