public DateTime ToMonthLastDate(DateTime value) { return new DateTime(value.Year, value.Month, DateTime.DaysInMonth(value.Year, value.Month)); }
年と月はそのまま、日にちだけDateTimeクラスのDaysInMonthメソッドに年と月を渡してやる。
VB6の時は翌月1日の前日という具合に算出していたけど、オーバーフローのチェックが必要になるのでこっちの方が良い。