为什么输入字符串格式不正确?

时间:2012-10-29 00:48:04

标签: c#

我正在使用String.Format并继续收到错误:输入字符串不是正确的格式。

我试图消除不同的可能性,但我找不到解决方案。

解决方案必须简单,但我找不到它。

var peanuts = String.Format("{label: '{0}', legendEntry: true, data: { y: [new Date('{1}')], x: [new Date('{2}')], y1: [{3}] } }",
"name", "sync date", "download date", "100");

1 个答案:

答案 0 :(得分:4)

您必须转义格式字符串中的任何{字符,否则它们将被解释为要格式化(替换)的项目。

要插入文字括号{,请将其加倍,例如{{

所以你的字符串是:

var peanuts = String.Format("{{label: '{0}', legendEntry: true, data: {{ y: [new Date('{1}')], x: [new Date('{2}')], y1: [{3}] }} }}",
    "name", "sync date", "download date", "100");

请参阅Composite Formatting MSDN page上的转义大括号