2012-01-12 29 views
2

我有以下字符串逃逸的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。显然这是因为使用string.format占位符值的{1CC88B01-E60F-45D1-8B3C-28852574156D} guid。现在我可以根据需要简单地将字符串调用string.format(),并将它连接在一起,但是有没有可能通过某种方式避免通过“转义”占位符值来做到这一点?

+0

可能重复的[如何在.Net格式字符串中转义括号](http://stackoverflow.com/questions/91362/how-to-escape-brackets-in-a-format-string-in-净) – zzzzBov 2012-01-12 03:00:43

回答

8

你只需要在大括号翻番:

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

哎呀。为什么我不尝试?谢了哥们! – 2012-01-12 03:04:05

1

使用双{{或}}字符转义。