Format()给出“ Input string is not in right Format”

我做错了什么?

string tmp = @"
if (UseImageFiles) {
vCalHeader += ""<td><img onmousedown='' src= '{0}cal_fastreverse.gif' width='13px' height='9' onmouseover='changeBorder(this, 0)' onmouseout='changeBorder(this, 1)' style='border:1px solid white'></td>\n""; //Year scroller (decrease 1 year)
calHeight += 22;
}";


string x = "xter";
tmp = string.Format(tmp, x);

我明白

输入字符串的格式不正确

当试图改变 {0}的时候,我用 C # 和 WinForms 来做这件事。

未处理格式异常
输入字符串的格式不正确

我得到的疑难解答提示:

确保方法参数的格式正确。当将字符串转换为 DateTime 时,在将每个变量放入 DateTime 对象之前解析该字符串以删除日期。

75007 次浏览

string.Format()认为每个“{”或“}”都是占位符的一部分(比如您已经使用的“{0}”)。您需要通过将每个文字符号加倍来转义它。

因此,在你的情况下:

 string tmp = @"
if (UseImageFiles) \{\{
...
}}";