在C#中使用List 时,对象引用未设置为对象实例

我有以下代码片段,产生编译错误:

public List batchaddresses; public MapFiles(string [] addresses) { for (int i = 0; i < addresses.Count(); i++) { batchaddresses.AddRange(Directory.GetFiles(addresses[i], "*.esy")); } } 

我尝试使用List.AddRange()方法时List.AddRange()

 Object reference not set to an instance of an object 

我究竟做错了什么?

batchaddresses在哪里初始化?

声明变量是不够的。 你必须初始化它,如下所示:

 // In your constructor batchaddresses = new List(); // Directly at declaration: public List batchaddresses = new List(); 

你必须初始化列表

List batchaddresses = new List();

batchaddresses字段尚未初始化。 您可以将其初始化为声明的一部分:

 public List batchaddresses = new List(); 

从你的代码片段来看,它看起来并不像初始化batchaddresses 。 用这个替换这行:

 public List batchaddresses = new List();