在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
字段尚未初始化。 您可以将其初始化为声明的一部分:
public List batchaddresses = new List ();
从你的代码片段来看,它看起来并不像初始化batchaddresses
。 用这个替换这行:
public List batchaddresses = new List ();