For循环和DateTime问题

Ira*_*ili 12 c# for-loop

我想利用forDateTime这样的:

for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d.AddDays(1))
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

但问题是d不会增加.有谁知道问题是什么?

Ree*_*sey 21

你需要使用:

for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d = d.AddDays(1))
{
Run Code Online (Sandbox Code Playgroud)

当你打电话时d.AddDays,它会返回一个新的 DateTime,而不是改变你已经创建的那个.


Sco*_*son 7

d.AddDays(1)实际上并没有给d添加一天.它返回一个比d大1天的新日期时间对象.

此问题已在此处记录:https: //stackoverflow.com/questions/380819/common-programming-mistakes-for-net-developers-to-avoid/1213588#1213588