我有以下代碼:使用未分配的本地變量? C#
double ticketPrice;
LoadOperation loGetTickets = ticketClass.loadTickets();
loGetTickets.Completed += (s, args) =>
{
foreach (Web.Ticket tt in ticketClass.getContext())
{
if (tt.bookingId == data.bookingId)
{
pView.lblTicketAmount.Content = "£" + tt.ticketPrice;
MessageBox.Show("Price: " + tt.ticketPrice);
ticketPrice = Convert.ToDouble(tt.ticketPrice);
pView.lblTicketName.Content = tt.ticketName;
break;
}
}
}; double subTotal = ticketPrice + ticketQuantity;
當我運行它,我得到的錯誤:使用未分配的局部變量的「ticketPrice」
正如你可以看到它得到賦值,從循環。
如果我使用:
double ticketPrice = 0.0;
錯誤去卻對值停留在0.0
,但我不明白,因爲在MessageBox出現每次和輸出值,所以我會承擔值爲tt.ticketPrice
正在填充ticketPrice
任何人都可以幫助我解決這個問題。
感謝
我從來沒有看到一個運行時錯誤「使用未分配的本地變量」只是一個編譯時錯誤的排序。 – 2011-05-02 21:34:11
這是一個詭計問題嗎?賦值在兩行之後使用'ticketPrice'的值。 – 2011-05-02 21:34:11
@所有交易:呃不,它不會 - 'tt.ticketPrice'與'ticketPrice'沒有關係(除了類似的名字)。 – rsenna 2011-05-02 21:42:34