相关疑难解决方法(0)

如何打印树形结构?

我正在尝试提高应用程序的性能.我有一个调用树形式的性能信息,具有以下节点类:

public class Node
{
    public string Name; // method name
    public decimal Time; // time spent in method
    public List<Node> Children;
}
Run Code Online (Sandbox Code Playgroud)

我想打印出树,这样我就能看到节点之间的线条 - 就像这个问题一样.我可以在C#中使用什么算法来做到这一点?

编辑:显然我需要使用递归 - 但我的尝试继续将行放在错误的位置.我要求的是一种特定的算法,它将以一种很好的方式打印树 - 有关何时打印垂直线以及何时打印水平线的详细信息.

编辑:仅使用字符串的副本来缩进节点是不够的.我不是在找

A
|-B
|-|-C
|-|-D
|-|-|-E
|-F
|-|-G
Run Code Online (Sandbox Code Playgroud)

它一定要是

A
+-B
| +-C
| +-D
|   +-E
+-F
  +-G
Run Code Online (Sandbox Code Playgroud)

或者类似的东西,只要树形结构可见.请注意,C和D的缩进与G不同 - 我不能只使用重复的字符串来缩进节点.

.net c# tree pretty-print

46
推荐指数
5
解决办法
4万
查看次数

标签 统计

.net ×1

c# ×1

pretty-print ×1

tree ×1