C#已实例化自定义类仍触发NullReferenceException空引用报错
错误原因
- 你仅完成了自定义类
singleWeeklyWorking_Period的实例化,但是存储实例用的List<singleWeeklyWorking_Period>类型字段listOfWeeklyWorkingTime只做了声明,没有进行实例化,调用Add方法时操作的是null对象,因此触发空引用异常。
修复方法
你可以任选以下任意一种方案修复:
- 声明列表时直接完成实例化
// 工作时间段存储列表,声明时直接实例化 public List<singleWeeklyWorking_Period> listOfWeeklyWorkingTime = new List<singleWeeklyWorking_Period>();
- 在
Start方法中调用Add前完成列表实例化
void Start() { // 先实例化列表再操作元素 listOfWeeklyWorkingTime = new List<singleWeeklyWorking_Period>(); singleWeeklyWorking_Period period = new singleWeeklyWorking_Period(); period.onDays[0] = true; period.startTime = 60; period.endTime = 120; listOfWeeklyWorkingTime.Add(period); listOfWeeklyWorkingTime[0].show(); }
补充说明:如果你需要从Unity的Inspector面板中提前配置列表内容,也可以直接在Inspector中给
listOfWeeklyWorkingTime字段赋值,无需在代码中手动实例化。
内容的提问来源于stack exchange,提问作者Gilang Agung
相关产品推荐
相关产品推荐

