C#转义大括号不适用于格式修饰符

本文关键字:格式 适用于 不适用 转义 | 更新日期: 2023-09-27 18:26:23

我知道我们可以使用{{}}来转义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);

C#转义大括号不适用于格式修饰符

众所周知,这就是C#处理花括号的方式。参见此处

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

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

试试这个:

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