我正在使用以下代码从 Excel 电子表格中读取值:
// Start with passed
int lastPassRow = sheets[passedVehicles].GetLength(0);
for (int i = 1; i < lastPassRow; i++)
{
// Exception here
if(DateTime.TryParse(sheets[passedVehicles][i, 0].ToString(), out result))
{
passedDates.Add((DateTime)sheets[passedVehicles][i, 0]);
}
}
的类型sheets[passedVehicles]
是一个多维数组,Object[,]
上面的 for 循环IndexOutOfRange
在 i = 1 时给了我一个异常,尽管我检查了行数。
我为有问题的电子表格添加了一些日志记录,并已验证:
- i = 1 是失败的迭代
- 的值为
lastPassRow
4 - 的值
sheets[passedVehicles].GetLength(1)
也是四。
在我看来,所有值都在范围内。还有其他可能导致此异常的原因吗?
注意:我从 i = 1 开始,因为第 0 行是电子表格中的标题,不包含我要读取的数据。