c# - 空引用异常数组 2d

标签 c# function multidimensional-array nullreferenceexception

我得到了这个类,它有一个 2dArray,当我尝试填充它时,我收到错误 NullReferenceException: 对象引用未设置为对象的实例 AdminGrid.FullNot(Int32 行、Int32 列、Int32 完整、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

我使用Unity引擎,所以Init//实际上调用了start

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

最佳答案

ArrayGrid 是一个引用类型字段,因此默认情况下将为 null,所以我简单地得出结论:您还没有调用 Init。所以:调用Init

关于c# - 空引用异常数组 2d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10667971/

相关文章:

c# - 如何确定是否为变量分配了枚举中存在的值?

javascript - JavaScript 中的默认函数参数

c# - 创建 AD 用户抛出 Authorization_RequestDenied : "Insufficient privileges to complete the operation." exception

c# - 显示另一个类中的所有项目

r - 函数如何在 R 中返回其名称和参数

java - 使用辅助方法在没有比较器的情况下对 Java 中的 2D Int Array 进行排序

javascript - 如何定义多维混合数组(包括键和关联值) JavaScript

java - 在 Java 中创建一个二维对象数组

c# - 从新节点获取符号信息

python - 检查多个模拟的调用顺序