空引用异常数组 2d

本文关键字:2d 数组 异常 引用 | 更新日期: 2023-09-27 18:34:38

>ive得到了这个类,它有一个2dArray,当im试图填充它时,我收到错误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];
    }
}

知道为什么会这样吗? 如您所见,我的数组充满了 0,我认为这可以解决这个问题,但似乎不是,我还确保值在数组内,这意味着列和行的最大值为 5,5

im 使用引擎 Unity 所以 Init//实际上称为 start

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

空引用异常数组 2d

ArrayGrid是一个

引用类型的字段,因此默认情况下将为空,所以我简单地得出结论:您尚未调用Init。所以:打电话Init

用 AdminGrid 重命名 Init 会没事的(


public AdminGrid()
{
...
}