puoi fare una funzione tipo questa:
public static DateTime LastDateOfMonth(int anno, int mese)
{
int giorno;
if (mese == 4 || mese == 6 || mese == 9 || mese == 11)
{
giorno = 30;
}
else if (mese == 2)
{
if (DateTime.IsLeapYear(anno))
{
giorno = 29;
}
else
{
giorno = 28;
}
}
else
{
giorno = 31;
}
return new DateTime(anno, mese, giorno);
}
oppure questa meno prolissa lasciando che sia il so a decidere:
public static DateTime LastDateOfMonth(DateTime data)
{
DateTime mese_next = data.AddMonths(1);
DateTime result = mese_next.AddDays(-1);
return result;
}
La prima funziona, la seconda è da testare...