Taeyoon Choi
Taeyoon Choi

Reputation: 23

Unable to add new object to List past index 0

I'm noticing that I am unable to add to a list of objects past index 0. Any other index returns a null reference.

public class MultiValidation
{
    public List<SingleValidation> validations { get; set; }

    public MultiValidation(List<string> numArray)
    {

        for(int i = 0; i<numArray.Count; i++)
        {
            SingleValidation individual = new SingleValidation(Validate.idArray[i], Validate.actionArray[i], Validate.expiryArray[i]);
            validations = new List<SingleValidation>();
            validations.Add(individual);
            Console.WriteLine(validations[i].action);
        }
    }

Here is the constructor used for SingleValidation

public SingleValidation(string ide, string ac, string exDate)
{
    this.action = ac;
    this.expiry = exDate;
    this.id = ide;
}

I have tested that idArray[i],actionArray[i],expiryArray[i] are all strings.

Upvotes: 0

Views: 48

Answers (1)

user6842156
user6842156

Reputation:

validations = new List<SingleValidation>();

This should be outside the for loop.

{
validations = new List<SingleValidation>();
for(int i = 0; i<numArray.Count; i++)
    {
        SingleValidation individual = new SingleValidation(Validate.idArray[i], 
        Validate.actionArray[i], Validate.expiryArray[i]);
        validations.Add(individual);
        Console.WriteLine(validations[i].action);
    }
}

Upvotes: 1

Related Questions