мне нужно, чтобы получить предыдущий рабочий день:Получить предыдущий рабочий день
public DateTime GetPreviousWorkDay(DateTime date)
{
DateTime prevDay = date.AddDays(-1);
bool isHoliday = IsHoliday(prevDay);
while (isHoliday || prevDay.DayOfWeek == DayOfWeek.Saturday || prevDay.DayOfWeek == DayOfWeek.Sunday)
{
prevDay = prevDay.AddDays(-1);
isHoliday = IsHoliday(prevDay);
}
return prevDay;
}
Является ли этот метод безопасен? Может ли это быть бесконечным циклом? Есть ли более простой способ?
Выглядит хорошо для меня. Как насчет того, что вы просто проверяете это и узнаете? Что вызвало этот вопрос? Что вы подразумеваете под «это безопасный метод»? – tnw
Вы проверили его с помощью DateTime.MinValue? –
Как и все остальное, «безопасность» этого метода будет зависеть от определения 'IsHoliday' ... –