2012-03-05 78 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

相關問題