gpt4 book ai didi

c# - 在 C# 中遍历对象树

转载 作者:IT王子 更新时间:2023-10-29 04:41:25 24 4
gpt4 key购买 nike

我有一个由多个对象组成的树,其中每个对象都有一个名称 (string)、id (int) 以及可能的子数组同一类型。我如何遍历整个树并打印出所有 ID 和名称?

我是编程新手,坦率地说,我很难理解这个问题,因为我不知道有多少个级别。现在我正在使用 foreach 循环来获取根目录正下方的父对象,但这意味着我无法获取子对象。

最佳答案

一个使用递归的算法是这样的:

printNode(Node node)
{
printTitle(node.title)
foreach (Node child in node.children)
{
printNode(child); //<-- recursive
}
}

这是一个版本,它还跟踪递归嵌套的深度(即我们是否正在打印根的 child 、孙子、曾孙等):

printRoot(Node node)
{
printNode(node, 0);
}

printNode(Node node, int level)
{
printTitle(node.title)
foreach (Node child in node.children)
{
printNode(child, level + 1); //<-- recursive
}
}

关于c# - 在 C# 中遍历对象树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/443695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com