è possibile scrivere un metodo di supporto abbastanza facilmente:
public static IEnumerable<DateTime> AllDatesInMonth(int year, int month)
{
int days = DateTime.DaysInMonth(year, month);
for (int day = 1; day <= days; day++)
{
yield return new DateTime(year, month, day);
}
}
Quindi chiamare con:
foreach (DateTime date in AllDatesInMonth(2012, 1))
Questo è probabilmente eccessivo per som ething stai facendo solo una volta, ma è molto più bello che usare un ciclo for
o qualcosa di simile se lo fai molto. Rende il tuo codice dire solo quello che vuoi ottenere, piuttosto che i meccanismi per come lo stai facendo.
fonte
2012-02-01 14:05:10
Che cosa è necessario per ogni giorno? Hai bisogno di una data completa o semplicemente di un valore numerico per ogni giorno? – sll
In realtà penso che sarebbe fantastico se DateTime restituisse un IEnumerable per un intervallo di date richiesto. –
adelphus
@sll Sto creando un calendario in cui è visibile l'intero anno e in cui le persone sarebbero in grado di prendere appunti su date singole –