我正在处理需要我以树格式表示数据的项目,我尝试迭代对象,但是在访问和向内部对象分配数据时遇到问题,主类看起来像这样
public class Node
{
public string Name { get; set; }
public List<Node> Child { get; set; }
public Node()
{
this.Child = new List<Node>();
}
}
并且有一个函数将通过迭代列表
来获取List并创建Node of Node类public Node NodeLister(myclass value)
{
List<Node> holder = new List<Node>();
Node head = new Node();
Node temp;
int i = 0;
foreach (MenuElements item in value.value)
{
if (i == 0)
{
head =new Node { Name = item.Name };
}
else
{
temp = new Node { Name = item.Name };
holder.Add(temp);
holder = holder[holder.IndexOf(temp)].Child;
}
i++;
}
head.Child = holder;
return head;
}
部分
holder = holder[holder.IndexOf(temp)].Child;
必须以某种方式具有指针类型的效果,因为此语句直接分配值并擦除先前的数据而不是迭代它。 myclass Class看起来如下所示。
public class myclass
{
public List<MenuElements> value { get; set; }
}
public class MenuElements
{
public string Name { get; set; }
}
我知道这不会创建一棵树,但解决这个问题将有助于我前进,并创建树。任何帮助将不胜感激