尽管使用 GetLength 检查,但多维数组出现 IndexOutOfRangeException

IndexOutOfRangeException on multidimensional array despite using GetLength check

我正在使用以下代码从 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 循环在 i = 1 时给我一个 IndexOutOfRange 异常,尽管我检查了行。

我为相关电子表格添加了一些日志记录,并验证了:

所有值似乎都在我的范围内。还有其他可能导致此异常的原因吗?

注意:我从 i = 1 开始,因为第 0 行是电子表格中的 header,不包含我要读取的数据。

我怀疑是 0 超出了范围。

Excel 数组是从 1 开始的,而不是您可能期望的从 0 开始。