C # Поиск следующего активного дня недели - PullRequest
3 голосов
/ 28 сентября 2011

У меня есть класс C #, с которым я работаю, представляя профиль, который включает некоторую информацию о расписании, указывающую, сколько обновлений в течение дня и какие дни обновлять с помощью логических значений для каждого дня недели.Я видел некоторые посты здесь и на других сайтах, чтобы найти следующий экземпляр данного дня недели и т. Д., Но не то, где дни могут различаться.

Например, мне могут датьобъект с понедельником, средой и четвергом как истина.Как лучше всего найти следующий экземпляр следующего истинного дня недели?

Я могу придумать несколько длинных и продолжительных способов найти следующий «истинный» день недели, но есть ли что-товстроенный уборщик, что я незнаком с этим, сделал бы уловку?Я бы предпочел не использовать какие-либо сторонние библиотеки, поскольку это требует большого специального одобрения со стороны людей, обеспечивающих информацию.

1 Ответ

9 голосов
/ 28 сентября 2011

Учитывая, что цикл вряд ли займет много времени, это будет самый простой подход:

DateTime nextDay = currentDay.AddDays(1);
while (!profile.IsActive(nextDay.DayOfWeek))
{
    nextDay = nextDay.AddDays(1);
}

(Предполагается, что вы уже проверили, что профиль активен хотя бы на одномдень ... иначе это будет цикл навсегда.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...