转义String.Format占位符

时间:2012-01-12 02:57:06

标签: c# escaping string.format

我有以下字符串

"ListId={1CC88B01-E60F-45D1-8B3C-28852574156D}&ID={0}&ContentTypeID=0x01003D458D19EF31D845B3A7727B0F2F8FC8"

我想这样使用它

String.Format("ListId={1CC88B01-E60F-45D1-8B3C-28852574156D}&ID={0}&ContentTypeID=0x01003D458D19EF31D845B3A7727B0F2F8FC8", MyValue)

WHERE MyValue would replace ID={0}

然而,这会引发System.FormatException。显然这是因为使用{1CC88B01-E60F-45D1-8B3C-28852574156D} guid占位符值的string.format。现在我可以根据需要简单地拆分字符串调用string.format()并将其重新连接在一起,但是我可以通过某种方式避免以某种方式“转义”占位符值来避免这样做吗?

2 个答案:

答案 0 :(得分:9)

你只需要加倍括号:

String.Format("ListId={{1CC8...156D}}&ID={0}&...", MyValue)

答案 1 :(得分:1)

使用双{{或}}字符来逃避它们。