以下行给出错误:
Console.WriteLine("Order:{0},\n Placed:{1},\nshipped:{2},\nTo address:{3} ,{4}, {5}\n\n" + orderid, orderdate, shipdate, shipname, shipaddr, shipcity);
它显示错误:
(索引(从零开始)必须大于或等于零,且小于参数列表的大小。)
帮我解决此错误。我知道发生这个错误是因为提供的占位符大于提供的变量。
答案 0 :(得分:4)
我猜你想要:
Console.WriteLine("Order:{0},\n Placed:{1},\nshipped:{2},\nTo address:{3} ,{4}, {5}\n\n", orderid, orderdate, shipdate, shipname, shipaddr, shipcity);
注意+不存在。
答案 1 :(得分:3)
Console.WriteLine("Order:{0},\n Placed:{1},\nshipped:{2},\nTo address:{3} ,{4}, {5}\n\n",orderid, orderdate, shipdate, shipname, shipaddr, shipcity);
应该解决问题。
答案 2 :(得分:1)
在您的第一个参数之前,您有一个+
而不是,
。校正:
Console.WriteLine("Order:{0},\n Placed:{1},\nshipped:{2},\nTo address:{3} ,{4}, {5}\n\n", orderid, orderdate, shipdate, shipname, shipaddr, shipcity);
因此,该方法仅识别5个参数,而不是6个。
答案 3 :(得分:1)
为什么格式字符串末尾有加号?当格式字符串需要6时,这会导致params为5。
更改如下:
Console.WriteLine("Order:{0},\n Placed:{1},\nshipped:{2},\nTo address:{3} ,{4}, {5}\n\n", orderid, orderdate, shipdate, shipname, shipaddr, shipcity);