public double[] To8760Array() { var arr = new double[8760]; int hrcount = 0; for (int i = 0; i < this.WeekSchedules.Count; i++) { var StartDate = WeekSchedules[i].From; // new DateTime(2006, this.MonthFrom[i], this.DayFrom[i]); var EndDate = WeekSchedules[i].To; //new DateTime(2006, this.MonthTill[i], this.DayTill[i]); var allDaysInPeriod = TimeHelpers.EachDay(StartDate, EndDate); foreach (DateTime day in allDaysInPeriod) { var dofw = day.DayOfWeek; int dofwInt = 0; switch (dofw) { case (System.DayOfWeek.Monday): dofwInt = 0; break; case (System.DayOfWeek.Tuesday): dofwInt = 1; break; case (System.DayOfWeek.Wednesday): dofwInt = 2; break; case (System.DayOfWeek.Thursday): dofwInt = 3; break; case (System.DayOfWeek.Friday): dofwInt = 4; break; case (System.DayOfWeek.Saturday): dofwInt = 5; break; case (System.DayOfWeek.Sunday): dofwInt = 6; break; } for (int hr = 0; hr < 24; hr++) { if (hrcount > 8759) { continue; } arr[hrcount] = this.WeekSchedules[i].Days[dofwInt].Values[hr]; hrcount++; } } } return(arr); }