public void Calc1(int initCount, int avgCount, int endClass)
{
List<TreeData> list1 = new List<TreeData>();
TreeData data1 = new Models.TreeData() { id = 0, name = "推客", parentid = 0, value = 0 };
List<TreeData> list2 = new List<Models.TreeData>();
for (int b = 0; b < avgCount; b++)
{
TreeData data2 = new Models.TreeData() { id = 0, name = "推客", parentid = 0, value = 0 };
List<TreeData> list3 = new List<Models.TreeData>();
for (int c = 0; c < avgCount; c++)
{
TreeData data3 = new Models.TreeData() { id = 0, name = "推客", parentid = 0, value = 0 };
list3.Add(data3);
data2.children = list3;
}
list2.Add(data2);
data1.children = list2;
}
list1.Add(data1);
}
TreeData 结构如下
public class TreeData
{
public string name { get; set; }
public int? value { get; set; }
[JsonIgnore]
public int? id { get; set; }
[JsonIgnore]
public int? parentid { get; set; }
public List<TreeData> children { get; set; }
}
最终层级是endClass
public void Calc1(int initCount, int avgCount, int endClass)
{
List<TreeData> list1 = new List<TreeData>();
int index = 1;
for (int i = 0; i < initCount; i++)
{
TreeData data1 = new TreeData() { id = 0, name = "推客", parentid = 0, value = 0, index = index };
data1.children = new TreeData().GetTreeData(avgCount, endClass, index);
list1.Add(data1);
}
}
public class TreeData
{
//当前深度
public int index { get; set; }
public string name { get; set; }
public int? value { get; set; }
public int? id { get; set; }
public int? parentid { get; set; }
public List<TreeData> children { get; set; }
public List<TreeData> GetTreeData(int avgCount, int endClass, int index)
{
List<TreeData> list = new List<TreeData>();
index++;
this.index = index;
for (int i = 0; i < avgCount; i++)
{
TreeData data1 = new TreeData() { id = 0, name = "第" + index + "级", parentid = 0, value = 0, index = index };
if (this.index != endClass)
{
data1.children = new TreeData().GetTreeData(avgCount, endClass, index);
}
list.Add(data1);
}
return list;
}
}
//调用 - by 没想好
Calc1(2,3,7);