C# c语言中的格式字符串错误#
下一行给出了一个错误:C# c语言中的格式字符串错误#,c#,C#,下一行给出了一个错误: Console.WriteLine("Order:{0},\n Placed:{1},\nshipped:{2},\nTo address:{3} ,{4}, {5}\n\n" + orderid, orderdate, shipdate, shipname, shipaddr, shipcity); 它将错误显示为: (索引(从零开始)必须大于或等于零,并且小于参数列表的大小。) 请帮助我解决此错误。我知道发生此错误是因为提供的占位符大于提供的变量 Console.
Console.WriteLine("Order:{0},\n Placed:{1},\nshipped:{2},\nTo address:{3} ,{4}, {5}\n\n" + orderid, orderdate, shipdate, shipname, shipaddr, shipcity);
它将错误显示为:
(索引(从零开始)必须大于或等于零,并且小于参数列表的大小。)
请帮助我解决此错误。我知道发生此错误是因为提供的占位符大于提供的变量
Console.WriteLine("Order:{0},\n Placed:{1},\nshipped:{2},\nTo address:{3} ,{4}, {5}\n\n",orderid, orderdate, shipdate, shipname, shipaddr, shipcity);
应该可以解决问题。我猜您想要:
Console.WriteLine("Order:{0},\n Placed:{1},\nshipped:{2},\nTo address:{3} ,{4}, {5}\n\n", orderid, orderdate, shipdate, shipname, shipaddr, shipcity);
注意+不存在。在第一个参数之前有一个
+
而不是,
。更正:
Console.WriteLine("Order:{0},\n Placed:{1},\nshipped:{2},\nTo address:{3} ,{4}, {5}\n\n", orderid, orderdate, shipdate, shipname, shipaddr, shipcity);
因此,该方法只识别5个参数,而不是6个参数。为什么在格式字符串的末尾有加号?当格式字符串预期为6时,这将导致参数为5 更改如下:
Console.WriteLine("Order:{0},\n Placed:{1},\nshipped:{2},\nTo address:{3} ,{4}, {5}\n\n", orderid, orderdate, shipdate, shipname, shipaddr, shipcity);
检查你的语法。。。你用“+”而不是“,”来提供6个参数。实际上,ryadavilli是第一个回答的。谢谢Peter Huene。对我来说,最重要的是戈玛蒂普里亚找到了问题的答案我想你的意思是“因此,该方法只识别5个参数,而不是6个。”