0
我目前正在使用DateTime變量來查找各種日期之間的旅行成本的項目。大部分點擊事件都會觸發,但總價格和平均價格的計算不會運行。任何幫助,將不勝感激。C#while循環涉及DateTime變量不執行計算
下面的代碼:將不會顯示
private void btnCalculate_Click(object sender, EventArgs e)
{
DateTime arrival = DateTime.Parse(txtArrivalDate.Text);
DateTime departure = DateTime.Parse(txtDepartureDate.Text);
TimeSpan numDays = departure - arrival;
int ndays = numDays.Days;
txtNights.Text = ndays.ToString();
decimal totalPrice = 0;
txtTotalPrice.Text = totalPrice.ToString("c");
decimal avprice = totalPrice/ndays;
txtAvgPrice.Text = avprice.ToString("c");
DateTime nightToCharge = arrival;
decimal pricePerNight = 0m;
int i = ndays;
while (i > 0)
{
DayOfWeek dayOfweek = nightToCharge.DayOfWeek;
if (dayOfweek == DayOfWeek.Friday ||
dayOfweek == DayOfWeek.Saturday)
{
pricePerNight = 150m;
}
else
{
pricePerNight = 120m;
}
i--;
nightToCharge = nightToCharge.AddDays(1);
totalPrice += pricePerNight;
}
}
問題尋求幫助調試(「?爲什麼不是這個代碼工作」)必須包括所期望的行爲,一個具體問題或錯誤和在問題本身中重現它所需的最短代碼。沒有明確問題陳述的問題對其他讀者無益。請參閱:如何創建最小,完整和可驗證示例。 –
我可以告訴你已經有你的問題 - >'int ndays = numDays.Days;'。你需要使用'TotalDays'。使用,如果你仍然有問題轉發問題與明確的問題 –
它看起來像你正在計算'totalPrice',然後扔掉結果。在while循環後面添加'txtTotalPrice.Text = totalPrice.ToString()'。 – Aron