2012-03-05 69 views
0

尝试调用ToString()方法时,出现上述错误消息。我不确定问题是什么。这里是我的代码:索引(从零开始)必须大于或等于零并小于参数列表的大小

public override string ToString() 
{ 
    return string.Format("{0} Pizzas @ {1:C}: {2:C}\n" + 
     "{3} Cokes @ {4:C} {5:C}\n" + 
     "Order Amount: {6:C}\n" + 
     "Sales Tax: {7:C}\n" + 
     "Amount Due: {8:C}\n" + 
     "Amount Paid: {9:C}\n" + 
     "Change Due: {10:C}", numberOfPizzas, PIZZA_PRICE + 
     totalCostOfPizza, numberOfCokes, COKE_PRICE, totalCostOfCoke + 
     foodAndDrinkTotal, totalSalesTax, totalAmountDue, amountPaid, + 
     changeDue); 
}   
+0

这部分看起来不正确的:'PIZZA_PRICE + totalCostOfPizza,' – 2012-03-05 01:52:46

回答

6

您引用更多的字符串格式参数,然后您提供。

通过它的外观,删除所有加号(参数列表不是字符串连接),并插入逗号

+2

丢弃所有的'+'S,*比加入格式字符串的元素*等。 – 2012-03-05 01:52:45

+0

@MichaelPetrotta良好的通话。我已经更新了答案。 – 2012-03-05 01:54:23

+0

这样做。谢谢。 – 2012-03-05 01:58:41

2

它看起来就像是增加的东西,你不是故意的吧?

试试这个:

public override string ToString() 
{ 
    return string.Format("{0} Pizzas @ {1:C}: {2:C}\n" + 
     "{3} Cokes @ {4:C} {5:C}\n" + 
     "Order Amount: {6:C}\n" + 
     "Sales Tax: {7:C}\n" + 
     "Amount Due: {8:C}\n" + 
     "Amount Paid: {9:C}\n" + 
     "Change Due: {10:C}", numberOfPizzas, PIZZA_PRICE, 
     totalCostOfPizza, numberOfCokes, COKE_PRICE, totalCostOfCoke, 
     foodAndDrinkTotal, totalSalesTax, totalAmountDue, amountPaid, 
     changeDue); 
}  
+0

你是对的。谢谢 – 2012-03-05 01:59:43

相关问题