我想在c#中运行无限循环。我拥有的结构是hirachical意味着每个索引都有一个相同结构的列表。
看起来像
一个人有他们的两个孩子也许两个孩子有两个循环是无限的我怎么能在aspx页面上运行它们。
任何建议
public struct mystruct{
public int ID;
public List<mystruct> childs
}
答案 0 :(得分:3)
结构体不可能使用正确的递归图形;您需要更改为class
:
public class MyType{
public int ID {get;set;}
private readonly List<MyType> children = new List<MyType>();
public List<MyType> Children {get{return children;}}
}
问题在于,实际上每次尝试改变它们来创建循环时,都会得到一个副本,而不是同一个实例。
由于这是一个可变实体类型,因此它应该是一个类。
然后即使是简单的事情:
var obj = new MyType();
obj.Children.Add(obj);
是一个递归图。
答案 1 :(得分:1)
CheckMyStruct(myStruct aStruct)
{
doSomethingWithStruct(aStruct);
if(aStruct.childs != null)
{
foreach(myStruct aChild in aStruct.Childs)
{
CheckMyStruct(aChild);
}
}
}