我正在寻找快速有效地使用C#/ .NET 3.5 自下而上浏览文件夹的想法
例如:
-0
--1
--- 12个
--2
--- 21个
--- 22个
--- 23个
先行走:12,21,22,23
那么:1,2
由于
答案 0 :(得分:2)
以常规方式遍历树,并将包含每个节点和节点级别的对象添加到IEnumerable
。
public class DirectoryNode
{
public DirectoryInfo Dir { get; set; }
public int Level { get; set; }
}
public IEnumerable<DirectoryNode> myNodes;
然后,要获取列表,只需使用IEnumerable
linq扩展方法调用生成的OrderByDescending
,如下所示:
var result = myNodes.OrderByDescending(node => node.Level);
答案 1 :(得分:0)
您需要每个节点的深度,并且需要在开始遍历树之前找到所有节点的最大深度。因此,您需要遍历前序,顺序或后序遍历中的所有节点,找到它们的深度,然后以相反的深度顺序遍历整个树。