У меня есть массив DateTimes:Возврат следующего значения в массиве, если условие истинно
public DateTime GetNextGame()
{
DateTime[] dateTimes = new DateTime[]
{
new DateTime(2016, 4, 11, 7, 5, 0),
new DateTime(2016, 4, 12, 7, 5, 0),
new DateTime(2016, 4, 13, 7, 5, 0),
new DateTime(2016, 5, 30, 7, 5, 0),
new DateTime(2016, 5, 31, 7, 5, 0),
new DateTime(2016, 6, 1, 7, 5, 0),
new DateTime(2016, 6, 2, 7, 5, 0),
new DateTime(2016, 6, 14, 7, 5, 0),
new DateTime(2016, 6, 15, 7, 5, 0),
new DateTime(2016, 6, 16, 7, 5, 0),
new DateTime(2016, 8, 16, 7, 5, 0),
new DateTime(2016, 8, 17, 7, 5, 0),
new DateTime(2016, 9, 12, 7, 5, 0),
new DateTime(2016, 9, 13, 7, 5, 0),
new DateTime(2016, 9, 14, 7, 5, 0),
new DateTime(2016, 9, 19, 7, 5, 0),
new DateTime(2016, 9, 20, 7, 5, 0),
new DateTime(2016, 9, 21, 7, 5, 0),
new DateTime(2016, 9, 22, 7, 5, 0)
};
Мой вопрос заключается в .., как я вернуть следующее значение в массиве, если текущее значение не соответствует состояние? Я сделал некоторые исследования по этому вопросу и нашел аналогичный вопрос, но это было в PHP, который я не понимал.
поэтому у меня есть цикл прохождения через массив, то условный оператор:
foreach(DateTime date in dateTimes)
{
if(date.TimeOfDay < DateTime.Today.TimeOfDay)
{
return //next value in array?
}
}
также пытается вернуть дату .ToShortDateString
вместе с .ToShortTimeString
на мой взгляд.
Я хочу, чтобы это выглядело, как это .. «Следующая Игра Понедельник, 3 марта в 7:05 вечера»
Любая помощь приветствуется.
Вы можете использовать 'for' вместо' foreach'. 'for (int i = 0; i
Valentin
вы можете сохранить 'counter' для получения следующего значения, но почему вы не используете' for'? – SeM
Для такого рода проблем, вероятно, просто проще использовать обычный цикл и вручную индексировать в массив. Затем просто используйте 'index + 1' (и выполните правильную обработку исключений). – ryanyuyu