Цель : создание дат на основе номеров недель
Ввод: StartDate, WeekNumber
Вывод: Список дат от номера недели, указанного до даты начала
Т.е. если начальная дата 23 апреля 2010 года, а номер недели 1, программа должна вернуть даты с 16 апреля 2010 года до начальной даты.
Функция
public List<DateTime> GetDates(DateTime startDate,int weeks)
{
List<DateTime> dt = new List<DateTime>();
int days = weeks * 7;
DateTime endDate = startDate.AddDays(-days);
TimeSpan ts = startDate.Subtract(endDate);
for (int i = 0; i <= ts.Days; i++)
{
DateTime dt1 = endDate.AddDays(i);
dt.Add(dt1);
}
return dt;
}
Я вызываю эту функцию как
DateTime StartDate = DateTime.ParseExact("20100423", "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
List<DateTime> dtList = GetDates(StartDate, 1);
Программа работает нормально.
Вопрос использует функцию C # 3.0, такую как Linq, Lambda и т. Д. Могу ли я переписать программу.
Почему? Потому что я изучаю linq и lambda и хочу реализовать то же самое. Но на данный момент знаний недостаточно, чтобы сделать то же самое самостоятельно.
Спасибо.