Попробуйте:
DateTime start = DateTime.Today;
DateTime end = DateTime.Today.AddDays(7);
for (DateTime current = start; current <= end; current = current.AddDays(1))
{
Console.WriteLine(current);
}
Мне нравится использовать цикл for для такого рода вещей, поскольку я часто скучаю по ним в современных проектах .NET:)
Aвозможный вспомогательный метод:
static IEnumerable<DateTime> GetRange(DateTime start, DateTime end)
{
for (DateTime current = start; current <= end; current = current.AddDays(1))
{
yield return current;
}
}
Важно Если у вас также есть отрезок времени, условие должно быть изменено на current.Date <= end.Date
Редактировать Изменено так, что границы включены, ранее я указывал только промежуточные даты.