C#String.Format,带有Curly Bracket in string

时间:2011-08-18 21:56:09

标签: c# string-formatting curly-braces

  

可能重复:
  Escape curly brace '{' in String.Format

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

的参数

我正在尝试创建一个简单的json字符串,它需要在字符串中使用大括号,因此它会破坏格式化程序

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

在大括号之前添加转义没有帮助

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

2 个答案:

答案 0 :(得分:46)

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

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

答案 1 :(得分:11)

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

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

产生

Moe,Larry,{Curly}