¿Cómo hago un ciclo en un intervalo de fechas?

Ni siquiera estoy seguro de cómo hacer esto sin usar alguna solución horrible para el tipo de bucle / contador. Aquí está el problema:

Me dan dos fechas, una fecha de inicio y una fecha de finalización y, en un intervalo específico, necesito realizar alguna acción. Por ejemplo: para cada fecha entre el 3/10/2009 cada tercer día hasta el 26 de marzo de 2009, debo crear una entrada en una lista. Así que mis aportaciones serían:

DateTime StartDate = "3/10/2009";
DateTime EndDate = "3/26/2009";
int DayInterval = 3;

y mi salida sería una lista que tiene las siguientes fechas:

13/03/2009 16/03/2009 19/03/2009 22/03/2009 25/03/2009

Entonces, ¿cómo diablos iba a hacer algo como esto? Pensé en usar un bucle for que iteraría entre todos los días en el rango con un contador separado como este:

int count = 0;

for(int i = 0; i < n; i++)
{
     count++;
     if(count >= DayInterval)
     {
          //take action
          count = 0;
     }

}

Pero parece que podría haber una mejor manera?

Respuestas a la pregunta(14)

Su respuesta a la pregunta