我在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