1

我得到这个类它有一个2dArray,当我试图填充它即时获取错误NullReferenceException:对象引用未设置为对象的实例 AdminGrid.FullNot(Int32 Row,Int32 Column, Int32 Full,System.String PieceName)空引用异常数组2d

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,0

即时通讯使用发动机团结,初始化//实际上是调用启动

它就会在游戏开始作为一项规则时,那为什么叫Im相当肯定它被称为

+0

当你调用FullNot方法,请添加代码 – Adil

+0

你调用初始化在任何时候? –

+0

@Adil that there –

回答

1

ArrayGrid是引用类型字段,所以会为空默认情况下,所以我简单地总结一下:你还没有打电话给Init。所以:致电Init

+0

初始化被称为我很确定它 – Makenshi

+0

@Makenshi它叫什么名字?如果我被调用过,则该数组将是非空的。这里没有提及;不是很怀疑... –

+0

这是在我的更新()中调用()我会发布代码 – Makenshi

1

重命名初始化与AdminGrid一切都将被罚款)


public AdminGrid() 
{ 
... 
} 
+0

我会尝试它,但我认为这将是相同的谢谢 – Makenshi