I'm trying to create a Class with List of Lists, but can't get it to work:
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.开发者_如何学JAVACapacity = 20;
}
public void SomeMethod()
{
//Perform operations on values storred in variable3[i].variable1
}
}
Now when I create SomeVariable of class StructureHolder and try to access SomeVariable.variable3[0].variable2 I get out of range error.
Edit1: Fixed that, but I still get out of range exception:
variable3.Capacity = 1;
variable3.Add(new Structure());
variable3[0].variable1.Capacity = 20;
variable3[0].variable1[0] = 123; //out off range error
But the list in StructureHolder doesn't contain any elements yet. You have to add eg.
variable3.Capacity = 1;
variable3.Add(new Structure());
variable3[0].variable1.Capacity = 20;
It's because your are trying to access empty List. You just initialize the list
public List<Structure> variable3 = new List<Structure>();
but never adds some elements to it:
variable3.Add(...);
So, you need to add item first before accessing it:
variable3.Add(new Structure()); // adding item
variable3[0].variable2 = 100d; // accessing just added element field
精彩评论