向列表中添加值-NullPointerException C#

向列表中添加值-NullPointerException C#,c#,list,C#,List,我有一个类,它允许我存储如下时间 class LockTime { public int Start { get; set; } public int End {get; set; } public LockTime (int start, int end) { Start = start; End = end; } } 在另一个类中,我声明了这个对象的列表 private List<LockTim

我有一个类,它允许我存储如下时间

    class LockTime
{

    public int Start { get; set; }

    public int End {get; set; }

    public LockTime (int start, int end)
    {
        Start = start;
        End = end;

    }

}
在另一个类中,我声明了这个对象的列表

private List<LockTime> listOfTimes;
当它试图添加到列表时,抛出NullPointerException。在调试器中,它在时间变量中显示2个值。我不太明白它为什么说空指针

同样,在我声明listOfTimes的开始处,蓝色下划线表示该字段从未分配给任何对象,并且始终具有空值


这个小问题快把我逼疯了,我是不是完全错过了什么。请帮忙

您需要初始化字段,否则其默认值为null,因为
List
是引用类型


使用
私有列表listOfTimes=new List()

您声明了列表,但没有初始化它,因此它当前指向null


私有列表listOfTimes=新列表()

您声明但不初始化列表。因此,您试图在本质上为
null

的对象上调用
Add
,似乎您没有分配列表对象

也许会改变

private List<LockTime> listOfTimes;
私有时间列表;
致:

private List listOfTimes=new List();

您尚未初始化列表。你看到警告的地方是这样做的

   private List<LockTime> listOfTimes = new List <LockTime>()
private List listOfTimes=新列表()

是否已初始化
列表项
<代码>列表时间=新列表()?可悲的是,我尝试了=新列表,但我缺少大括号。我已经浪费了将近2-3个小时来拔头发。谢谢你这么快的回复。@Jagga如果你忘记了括号,你会得到一个错误,比如“一个新的表达式需要(),[]或{}在类型之后”。你有什么不明白的?(不是对你的批评,我只是好奇你认为这是什么意思。当你懂一门语言时,很难看出别人是怎么误解的。)我一直在做..=新列表(0,0);等等。然后我开始将访问器从私有更改为公共,然后全部更改。我基本上做了很多不必要的改变,只是因为我不知道你能说什么或者可能记得我需要牙套。由于某种原因,我的大脑一直在运行,构造函数需要2个整数。我不知道。
private List<LockTime> listOfTimes = new List<LockTime>();
   private List<LockTime> listOfTimes = new List <LockTime>()