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