Подтвердить что ты не робот

Проблемы с циклом и DateTime

Я пытаюсь использовать for для DateTime следующим образом:

for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d.AddDays(1))
{
    // ...
}

Но проблема в том, что d не увеличивается. Кто-нибудь имеет представление о том, что проблема?

4b9b3361

Ответ 1

Вам нужно использовать:

for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d = d.AddDays(1))
{

Когда вы вызываете d.AddDays, он возвращает новое значение DateTime, не изменяя тот, который вы уже создали.

Ответ 3

Возвращает новое значение DateTime, которое добавляет указанное количество дней к значение этого экземпляра.

Этот метод не изменяет значение этого DateTime. Вместо этого возвращает новый DateTime, значение которого является результатом этой операции.

MSDN

Итак... Это должно быть как ниже

for (DateTime d = _BookedCheckIn; d <= _BookedCheckOut; d = d.AddDays(1))

Ответ 4

Или, альтернативно,

d += TimeSpan.FromDays(1);