为什么我在此代码中出现格式异常?它只有一个参数

本文关键字:异常 参数 有一个 格式 代码 为什么 | 更新日期: 2023-09-27 18:31:08

public override string ToString()
{
    string val;
    if (blower)
        val = "Yes";
    else
        val = "No";
    return string.Format(
                   "With Blower 't:'t {0} 'n" +
                   val);
}

我在以下行中得到一个例外:-

 return string.Format(
                "With Blower 't:'t {0} 'n" +
                val);

例外情况是:

索引(从零开始)必须大于或等于零且小于参数列表的大小。

我做错了什么?

为什么我在此代码中出现格式异常?它只有一个参数

这样用:

string.Format("With Blower 't:'t {0} 'n", val);

我想你的意思

return string.Format("With Blower 't:'t {0} 'n", val);
                                               ^

你的意思是使用逗号而不是串联吗?

您可以简化整个方法:

public override string ToString()
{
    return string.Format("With Blower 't:'t {0} 'n", blower ? "Yes" : "No");
}

我认为您可能需要用逗号替换+:

 return string.Format(
                "With Blower 't:'t {0} 'n",
                val);

尝试用逗号分隔:

返回字符串。格式( "带鼓风机 ''t:''t {0} '", 瓦尔);

使用逗号代替串联

return string.Format("With Blower 't:'t {0} 'n",  val);