我得到了这个类,它有一个 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/