【发布时间】:2015-04-11 05:40:50
【问题描述】:
string[,] Months = new string[12,2] { { "Jan", "1" }, { "Feb", "2" }, { "Mar", "3" }, { "Apr", "4" }, { "May", "5" }, { "Jun", "6" }, { "Jul", "7" }, { "Aug", "8" }, { "Sep", "9" }, { "Oct", "10" }, { "Nov", "11" }, { "Dec", "12" } };
for (int i = 0; i < Months.Length; i++)
{
if (Convert.ToInt32(Months[i,1]) > DateTime.Now.Month)
{
//Do Something
}
else
{
//Another Task
}
}
上面的代码抛出一个超出“范围异常”的索引。但是,当我在 for 循环中手动插入数组的长度时,一切正常
for (int i = 0; i < 12; i++)
{
if (Convert.ToInt32(Months[i,1]) > DateTime.Now.Month)
{
//Do Something
}
else
{
//Another Task
}
}
是什么导致了这个异常?我已经使用类似的代码很长时间了,没有问题。今天早上刚写了这个,遇到红屏了。
【问题讨论】:
-
调试时检查 Months.Length 的值
-
Length property 返回数组所有维度的元素总数
-
谢谢。很有帮助
标签: c# asp.net-mvc