我得到的错误是“System.ArgumentOutOfRangeException未处理”。它要求月介于1和12之间。但是看看调试器中的变量是否等于1,以及Debug.Writeline。
int month, year, total;
total = 0;
DateTime dayToFind;
for (year = 1001; year < 1201; year++){
for (month = 1; month < 12; month++){
dayToFind = new DateTime(year, month, DateTime.DaysInMonth(month, year));
// The error points at the last occurance of month above.
total = (dayToFind.DayOfWeek == DayOfWeek.Monday) ? 1 : 0;
}
}
答案 0 :(得分:8)
您向后拨打DateTime.DaysInMonth()
电话。将其更改为:
DateTime.DaysInMonth(year, month)
当您将year
变量放在month
的位置时,它大于它的最大值(大于12),从而产生ArgumentOutOfRangeException
。
答案 1 :(得分:2)
您颠倒了DaysInMonth方法的参数。年首先。