我有一个课程,允许我按如下方式存储时间.
class LockTime
{
public int Start { get; set; }
public int End {get; set; }
public LockTime (int start, int end)
{
Start = start;
End = end;
}
}
Run Code Online (Sandbox Code Playgroud)
在另一个类中,我声明了这个对象的列表.
private List<LockTime> listOfTimes;
Run Code Online (Sandbox Code Playgroud)
我在第二个类中有一个方法然后添加到此列表中.
LockTime theTime = new LockTime((pickerTimeStart.Value.Hour + pickerTimeStart.Value.Minute), (pickerTimeEnd.Value.Hour + pickerTimeEnd.Value.Minute));
listOfTimes.Add(theTime);
Run Code Online (Sandbox Code Playgroud)
当它试图添加到列表时,它会抛出NullPointerException.在调试器中,它在Time变量中显示2个值.我不太明白为什么它会说NullPointer.
同样在我宣布listOfTimes的开始时,它带有下划线蓝色,表示该字段永远不会分配给任何内容,并且始终具有空值.
这个小小的问题让我疯了,我只是完全错过了什么.请帮忙!
您需要初始化该字段,否则其默认值为null,因为List<T>它是引用类型.
使用 private List<LockTime> listOfTimes = new List<LockTime>();