У меня есть функция, которая возвращает мне только пятницы из диапазона датКак получить последнюю пятницу месяца (ы) с помощью .NET
public static List<DateTime> GetDates(DateTime startDate, int weeks)
{
int days = weeks * 7;
//Get the whole date range
List<DateTime> dtFulldateRange = Enumerable.Range(-days, days).Select(i => startDate.AddDays(i)).ToList();
//Get only the fridays from the date range
List<DateTime> dtOnlyFridays = (from dtFridays in dtFulldateRange
where dtFridays.DayOfWeek == DayOfWeek.Friday
select dtFridays).ToList();
return dtOnlyFridays;
}
Назначения функции: «Список дат из номер недели, указанный до StartDate, т. е. если startdate - 23 апреля 2010 года, а номер недели - 1, программа должна вернуть даты с 16 апреля 2010 года до начала ».
Я звоню функцию:
DateTime StartDate1 = DateTime.ParseExact("20100430", "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
List<DateTime> dtList = Utility.GetDates(StartDate1, 4).ToList();
Теперь требование немного изменилось. Мне нужно узнать только последние пятницы каждого месяца. Вход в функцию останется таким же.
@Newbie: важна версия C#, но также и версия .NET, поскольку сам C# не может вам помочь - вам нужна .NET Framework. –
Это ваша домашняя работа? –
Более идиоматическая реализация будет использовать 'IEnumerable' вместо преобразования всего в« Список ». –