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个。”