validate today now isdate c# asp.net datetime for-loop

today - validate a date in c#



Usando DateTime en un bucle For, la fecha de incremento no está funcionando (2)

DateTime es inmutable. Cambiar a: fecha = fecha. Añadir días (1.0)

Tengo este bucle, su propósito es recorrer un rango de fechas y realizar alguna lógica para automatizar la adición de entradas en la base de datos. El problema es que la parte de incremento, fecha.AddDays (1.0) no funciona, y siempre es el mismo resultado, causando un bucle infinito. ¿Alguna idea?

for (DateTime date = DateTime.Now; futureDate.CompareTo(date) > 0; date.AddDays(1.0)) { // logic here }


DateTime.AddDays devuelve una nueva instancia sin modificar la date . En este momento estás desechando esta nueva instancia. En su lugar, necesita hacer:

for (DateTime date = DateTime.Now; futureDate.CompareTo(date) > 0; date = date.AddDays(1.0)) { // logic here }

Además, no estoy seguro de por qué llama a CompareTo cuando podría usar el operador < . No puedo decir si CompareTo(date) > 0 es correcto sin pensarlo por un momento, mientras que la intención del operador < es obvia:

for (DateTime date = DateTime.Now; date < futureDate; date = date.AddDays(1.0)) { // logic here }