У меня есть следующий код:
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
, но я не понимаю, потому что окно сообщений появляется каждый раз и выводит значение, поэтому я бы предположил, что значение tt.ticketPrice
заполняется ticketPrice
Может ли кто-нибудь помочь мне в этом вопросе.
Спасибо
ticketPrice
. - person   schedule 03.05.2011tt.ticketPrice
не имеет никакого отношения кticketPrice
(кроме похожих имен). - person rsenna   schedule 03.05.2011