【发布时间】:2011-11-06 10:01:45
【问题描述】:
我正在尝试像这样在DateTime 上使用for:
for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d.AddDays(1))
{
// ...
}
但问题是d 没有增加。有谁知道问题出在哪里?
【问题讨论】:
我正在尝试像这样在DateTime 上使用for:
for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d.AddDays(1))
{
// ...
}
但问题是d 没有增加。有谁知道问题出在哪里?
【问题讨论】:
你需要使用:
for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d = d.AddDays(1))
{
当您调用d.AddDays 时,它会返回一个新的 DateTime,而不是更改您已经创建的日期时间。
【讨论】:
d.AddDays(1) 实际上并不给 d 添加一天。它返回一个比 d 大 1 天的新日期时间对象。
【讨论】:
返回一个新的 DateTime,它将指定的天数添加到 这个实例的价值。
此方法不会更改此 DateTime 的值。相反,它 返回一个新的 DateTime,其值为该操作的结果。
所以...应该如下所示
for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d = d.AddDays(1))
【讨论】:
或者
d += TimeSpan.FromDays(1);
【讨论】: