今天在帮实验室研究生学长做一个小项目时碰见了一个问题(类中包含另一个类的数组时的初始化),代码如下:
public class Test : MonoBehaviour {
private Class_B[] arry_B;
private int num = 3;
void Start () {
arry_B = new Class_B[num];
for(int i=0; i<num; i++)
{
for(int j=0; j<arry_B[i].num; j++)
{
arry_B[i].arry_A[j].name_A = "test";
}
}
}
}
public class Class_A{
public string name_A;
}
public class Class_B {
public Class_A[] arry_A;
public int num;
Class_B(){
num = 3;
arry_A = new Class_A[num];
}
}
在Unity+C#的环境下,声明的两个类的数组并调用时出现了如下错误,说是某个变量是空值:
定位到代码中的位置是: