Class 当自定义类本身包含List时,如何创建List?

Class 当自定义类本身包含List时,如何创建List?,class,list,c#-4.0,Class,List,C# 4.0,我正在尝试创建一个包含列表列表的类,但无法使其正常工作: public class Structure { public List<int> variable1 = new List<int>(); public double variable2 { get; set; } } public class StructureHolder { public List<Structure> variable3 = new List<S

我正在尝试创建一个包含列表列表的类,但无法使其正常工作:

public class Structure
{
    public List<int> variable1 = new List<int>();
    public double variable2 { get; set; }
}

public class StructureHolder
{
    public List<Structure> variable3 = new List<Structure>();
    public void InitLists()
    {
        variable3.Capacity = 1;
        variable3[0].variable1.Capacity = 20;
    }
    public void SomeMethod()
    {
        //Perform operations on values storred in variable3[i].variable1
    }
}

但是StructureHolder中的列表尚未包含任何元素。 你必须加上

variable3.Capacity = 1;
variable3.Add(new Structure());
variable3[0].variable1.Capacity = 20;

这是因为您正在尝试访问空列表。您只需初始化列表

public List<Structure> variable3 = new List<Structure>();
因此,在访问项目之前,您需要先添加项目:

variable3.Add(new Structure()); // adding item
variable3[0].variable2 = 100d; // accessing just added element field

修正了,但我仍然得到异常:修正了,但我仍然得到异常:variable3.Capacity=1;变量3.增加新的结构;variable3[0]。variable1.Capacity=20;变量3[0]。变量1[0]=123//超出范围错误,但现在必须在结构列表中添加int。variable3[0]。variable1.Add10;
variable3.Add(...);
variable3.Add(new Structure()); // adding item
variable3[0].variable2 = 100d; // accessing just added element field