次のコードで範囲外の例外が発生する理由を理解できません。 _maxRowIndex
および_maxColIndex
の値は、それぞれ5
および0
です。例外は、row
とcol
が両方とも0
に等しいときに初めてスローされます。私はなぜ0, 0
が配列の範囲外になるのか分からない。配列要素にアクセスしようとするとIndexOutOfRangeExceptionが発生する
_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);
}
}
}
または、Mamtaが提案したことを実行してください。あなたのリストに5つのアイテムが存在するか、最後のアイテムがインデックス5になるかによって異なります。 – jtdubs
リストの合計6つのアイテムの最後のインデックスを5にします。宣言は最高の指数ではなく、全体の要素のためであったということは私には起こりませんでした。私はあなたが提案した変更を行いました。それは今のところ私が望むように機能します。 – poke