C#String.Format与字符串中的curl括号

可能重复:
在String.Format中转义大括号'{‘

c#有一个String.Format方法,允许您格式化字符串,但插入带有标记{0} {1}

我试图创建一个简单的json字符串,需要大括号在字符串中,因此它打破格式化程序

 String.Format("{ foo:'{0}', bar:'{1}' }", foo, bar); 

在括号之前添加一个逃脱没有帮助

抛出一个exception,说我的字符串格式不正确,有人知道怎么解决这个问题吗?

您可以通过在格式字符串中将它们加倍来逃避括号:

 string.Format("{{ foo: '{0}', bar: '{1}' }}", foo, bar); 

你可以简单地使用{{}}来逃避大括号。

 Console.WriteLine(String.Format("{0}, {1}, {{{2}}}", "Moe", "Larry", "Curly")); 

生产:

Moe,Larry,{Curly}