C# 中的格式字符串错误

本文关键字:字符串 错误 格式 | 更新日期: 2023-09-27 17:55:47

以下行给出错误:

 Console.WriteLine("Order:{0},'n Placed:{1},'nshipped:{2},'nTo address:{3} ,{4}, {5}'n'n" + orderid, orderdate, shipdate, shipname, shipaddr, shipcity);

它显示错误为:

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

帮助我解决此错误。我知道发生此错误是因为提供的占位符大于提供的变量。

C# 中的格式字符串错误

我猜你想要:

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);

应该解决问题。

为什么格式字符串的末尾有一个加号?这导致当格式字符串需要 6 时,参数为 5。

更改如下:

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 个参数。