6

I have the following code snippet that produces a compilation error:

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

I get an error when I try to use the List<T>.AddRange() method:

Object reference not set to an instance of an object 

What am I doing wrong?

1
  • 1
    Clearly, "Object reference not set to an instance of an object" ocurrs when you try to execute your code. It is not a compilation error, its a runtime error. Commented Dec 17, 2010 at 1:50

4 Answers 4

12

Where is batchaddresses initialized?

Declaring the variable does not suffice. You must initialize it, like so:

// In your constructor batchaddresses = new List<string>(); // Directly at declaration: public List<string> batchaddresses = new List<string>(); 
Sign up to request clarification or add additional context in comments.

Comments

1

you have to initialize the list

List<String> batchaddresses = new List<String>();

Comments

1

The batchaddresses field hasn't been initialised. You can initialise it as part of the declaration:

public List<string> batchaddresses = new List<string>(); 

Comments

0

From your snippet, it doesn't look as though batchaddresses is initialised. Replace the line with this:

public List<string> batchaddresses = new List<string>(); 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.