我有以下代码:使用未分配的本地变量? 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