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

JOE*_*EET 5 c# generics nullreferenceexception

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

public List<string> batchaddresses;

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

我尝试使用该List<T>.AddRange()方法时出错:

Object reference not set to an instance of an object
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Eti*_*tel 12

batchaddresses在哪里初始化?

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

// In your constructor
batchaddresses = new List<string>();

// Directly at declaration:
public List<string> batchaddresses = new List<string>();
Run Code Online (Sandbox Code Playgroud)