null引用异常数组2d

时间:2012-05-19 18:46:51

标签: c# function multidimensional-array nullreferenceexception

我有这个类它有一个2dArray当我试图填充它我得到错误NullReferenceException:对象引用没有设置为对象的实例 AdminGrid.FullNot(Int32 Row,Int32 Column,Int32 Full,System.String PieceName)

public class AdminGrid : MonoBehaviour {

    public int numRows;
    public int numColumns;
    private int[,] ArrayGrid;
    // Use this for initialization
    void Init() {
                numColumns = 6;
                numRows = 6;
        ArrayGrid = new int[numRows,numColumns];

        for(int y = 0;y < numRows;y++)
        {
            for(int x = 0;x < numColumns;x++)
            {
                ArrayGrid[y,x] = 0; 
            }
        }
    }

    public void FullNot(int Row,int Column,int Full,string PieceName)
    {   
        ArrayGrid[Row,Column] = 1;//Error is here
    }

    public int WhatsonGrid(int Row,int Col)
    {
        return ArrayGrid[Row,Col];
    }
}

知道为什么会这样吗?正如你可以看到我的数组充满了0s我认为这会解决这个但似乎没有,我也确保值在数组内部意味着列和行的最大值是5,5

即时使用引擎Unity所以Init //实际上叫做start

当游戏开始时,它会被调用,这就是为什么我很确定它被称为

2 个答案:

答案 0 :(得分:1)

ArrayGrid是一个引用类型字段,默认情况下为null,所以我简单地断定:你没有调用Init。所以:致电Init

答案 1 :(得分:1)

使用AdminGrid重命名Init,一切都会好的)


public AdminGrid()
{
...
}