2011-08-29 9 views
12

que estoy tratando de hacer un uso for en un DateTime así:-loop y DateTime Problema

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

Pero el problema es que d no aumenta. ¿Alguien tiene una idea de cuál es el problema?

Respuesta

21

Es necesario utilizar:

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

Cuando se llama a d.AddDays, es el retorno de una nueva DateTime, no cambiar la que ya ha creado.

+0

wow. gracias hombre :) –

2

devuelve una nueva DateTime que se suma el número de días especificado en el valor de esta instancia.

Este método no cambia el valor de este DateTime. En su lugar, devuelve un nuevo DateTime cuyo valor es el resultado de esta operación.

MSDN

Así que ... Debe ser lo más abajo

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

O, alternativamente

d += TimeSpan.FromDays(1);