string.Format()给出"输入字符串格式不正确"

Mr.*_*ous 109 c# string winforms

我在这做错了什么?

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);
Run Code Online (Sandbox Code Playgroud)

我明白了

输入字符串的格式不正确

当试图改变{0}.我在C#和WinForms中这样做.

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

我得到的疑难解答:

确保您的方法参数格式正确.将字符串转换为datetime时,解析字符串以在将每个变量放入DateTime对象之前取出日期.

Chr*_*n.K 293

string.Format()将每个'{'或'}'视为占位符的一部分(例如您已使用的'{0}').你需要通过加倍来逃避每个字面值.

所以在你的情况下做:

 string tmp = @"
    if (UseImageFiles) {{
        ...
    }}";
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!错误消息"输入字符串格式不正确"对我没有任何帮助.我以为我的一个参数是null或者其他什么. (4认同)
  • 如果我见过的话,这是一个完美的 StackOverflow 问答示例。 (2认同)