【发布时间】:2019-01-06 20:33:00
【问题描述】:
我有一个可序列化的类,我想在其他脚本中创建它的数组
[Serializable]
public class Question
{
public string fact;
}
现在我有另一个类创建和初始化问题数组。
public class Initialize : MonoBehaviour
{
Question[] questions;
void Start()
{
questions = new Question[1];
questions[0].fact = "First Question"; // Here I am getting NullReferenceException
}
}
另一个有趣的事情是当我使用 IEnumerator 初始化相同的数组并在开始时产生 return null 代码按预期工作,这里是代码
public class Initialize : MonoBehaviour
{
Question[] questions;
void Start()
{
questions = new Question[1];
StartCoroutine(InitializeArray());
}
IEnumerator InitializeArray()
{
yield return null;
questions[0].fact = "First Question";
}
}
当我在初始化之前使用yield语句工作正常,当我再次注释掉yield语句时出现NullReferenceException,这怎么可能?
【问题讨论】: