下面的空引用异常的原因是什么?

时间:2015-05-18 11:37:20

标签: c#

我有

public class Lead
{
        public string LeadFirstName { get; set; }        
        public List<Document> Documents { get; set; }       
}
public class Document
{
   public int DocumentId { get; set; }
   public string DocumentPath { get; set; }
}

当我在做以下时

Lead lead = new Lead();
lead.LeadFirstName = "Test";
lead.Documents.Add(new Document{ DocumentId  = 1, DocumentPath  = @"C:\test\abc.doc"});

我收到Null Reference异常。 - 为什么?

2 个答案:

答案 0 :(得分:3)

您没有实例化您的文档列表。一种方法是通过构造函数:

public class Lead
{
    public Lead()
    {
        Documents = new List<Document>();
    }

    public string LeadFirstName { get; set; }
    public List<Document> Documents { get; private set; }
}

答案 1 :(得分:1)

您必须初始化集合:

 Lead lead = new Lead();
 lead.LeadFirstName = "Test";
 lead.Documents = new List<Document>(); <<-----
 lead.Documents.Add(new Document{ DocumentId  = 1, DocumentPath  = @"C:\test\abc.doc"});