我在asp中创建了一个Sudoku拼图,我在某些类中遇到了麻烦。当我创建一个函数来显示文本框中的所有数字时,出现此错误:对象引用未设置为对象的实例。我知道这意味着我的对象是null,但这是我的代码。我得到错误的那一行是这样一行:stbNumber.setNumber(currentSolution [3 * i + m,3 * k + n]);对象引用未设置为对象的实例 - 但它是?
private SudokuTextBox stb;
private Puzzle puzzle;
private Box box;
private Number stbNumber;
public void displayAll(object sender,EventArgs e)
{
puzzle = new Puzzle();
for (int i = 0; i < 3; i++)
{
for (int k = 0; k < 3; k++)
{
box = new Box();
for (int m = 0; m < 3; m++)
{
for (int n = 0; n < 3; n++)
{
stbNumber = new Number();
stb = new SudokuTextBox();
stbNumber.setNumber(currentSolution[3 * i + m, 3 * k + n]);
stb.setTextBoxValue(stbNumber);
stb.setVisibility(true);
box.setItem(stb, m, n);
}// end forth for
}//end third for
puzzle.setItem(box, i, k);
}//end second for
}//end first for
generateBoxes();
}
我已经初始化stbNumber在我的代码的最顶部,我已经确保currentSolution不是null或空。因此我不确定我做错了什么。我还应该提到,我在其他地方有这个确切的代码来生成新的难题,它的工作原理很好,但是当我单击一个按钮时,这段代码会专门被调用。
你能后,你确认currentSolution不为空的代码? – tjscience 2012-03-31 04:38:29