tags:

views:

24

answers:

1

Why my for works incorrect here ?

               int dayOfWeekNumber = (int)DateTime.Today.DayOfWeek - (int)System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;
               var previosWeekFirstDay = DateTime.Today.AddDays(-7 - dayOfWeekNumber);
               var yearsterday = DateTime.Today.AddDays(-1);
               var previosWeekLastDay = previosWeekFirstDay.AddDays(6);
               var previosMonthFirstDay = DateTime.Today.AddMonths(-1);
               previosMonthFirstDay = previosMonthFirstDay.AddDays(-previosMonthFirstDay.Day + 1);
               var previosMonthLastDay = previosMonthFirstDay.AddDays(DateTime.DaysInMonth(previosMonthFirstDay.Year, previosMonthFirstDay.Month) - 1);

                   for (DateTime x = previosMonthFirstDay; x <= previosMonthLastDay; x.AddDays(1))
                   {
                       //forever looping ...
                   }
+3  A: 

Change the for loop to

for (DateTime x = previosMonthFirstDay; x <= previosMonthLastDay; x = x.AddDays(1))

You have to remember from DateTime.AddDays Method that

This method does not change the value of this DateTime. Instead, a new DateTime is returned whose value is the result of this operation.

astander
thanks. pff... visual studio helper fails in Russian then >_<
nCdy