问题描述
我从 API 获取数据,其中为每个用户存储档案。 每个存档可以有 1 到无限个子存档,每个子存档可以有 1 到 ulimited 子存档,依此类推。
如何在没有 400 个循环的情况下将每个存档及其子存档加载到 TreeNode 中。 我想过递归,但我不确定是否有更好的方法。
VB 示例:
Sub Main()
For Each archive in Archives
TreeView1.Nodes.Add(AllChilds(archive))
Next
End Sub
Function AllChilds(parent_archive As Archive)
If parent_archive.Archives.Count > 0 Then
For Each subArchive As Archive In parent_archive.Archives
If subArchive.Archives.Count > 0 Then
TreeView1.Nodes.Add(subArchive.DisplayName)
AllChilds(subArchive)
Else
Return subArchive
End If
Next subArchive
Else
Return parent_archive
End If
End Function
C# 示例:
class SurroundingClass
{
public void Main()
{
foreach (archive as Archive in archives.Archives)
TreeView1.Nodes.Add(AllChilds(archive));
}
private void AllChilds(Archive parent_archive)
{
if (parent_archive.Archives.Count > 0)
{
foreach (Archive subArchive in parent_archive.Archives)
{
if (subArchive.Archives.Count > 0)
{
TreeView1.Nodes.Add(subArchive.DisplayName);
AllChilds(subArchive);
}
else
return subArchive;
}
}
else
return parent_archive;
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)