我无法弄清楚为什么在以下代码段中出现超出范围的异常。 _maxRowIndex
和_maxColIndex
的值分别是5
和0
。当row
和col
都等于0
时,第一次抛出该异常。我不明白为什么0, 0
会超出数组的范围。
_cells = new ToolBarButton[_maxRowIndex, _maxColIndex];
.
.
.
for (int col = 0; col <= _maxColIndex; col++) {
for (int row = 0; row <= _maxRowIndex; row++)
{
if (_cells[row, col] == null)
{
PopulateCell(toolBarbutton, row, col);
}
}
}
最佳答案
如果您希望最大索引为5,则意味着数组的长度必须为6,因为第一个元素的索引为0。
因此,更改:
_cells = new ToolBarButton[_maxRowIndex, _maxColIndex];
至:
_cells = new ToolBarButton[_maxRowIndex+1, _maxColIndex+1];