Cad*_*ant 3 .net c# linqpad visual-studio
我正在使用 C# 和 LINQPad。如何可视化图表和树?
例如,如果我创建一个像这样的树数据结构:
public class BinaryTree<T>()
{
public T Value { get; set; }
public BinaryTree<T> LeftChild { get; set; }
public BinaryTree<T> RightChild { get; set; }
//Other methods:
}
Run Code Online (Sandbox Code Playgroud)
我想要一种简单的方法来在执行程序时显示它,例如,如下所示:
您最好的选择可能是使用Microsoft 自动图形布局。这就是 LINQPad 用于语法树可视化工具的内容。
在 LINQPad 5 中,只需添加对 Microsoft.MSAGL.GraphViewerGDIGraph NuGet 包的引用即可使用此库。然后你可以这样做:
var graph = new Graph ("graph");
graph.AddEdge ("A", "B");
graph.AddEdge ("B", "C");
graph.AddEdge ("A", "C").Attr.Color = Microsoft.Msagl.Drawing.Color.Green;
new GViewer() { Graph = graph, ToolBarIsVisible = false }.Dump();
Run Code Online (Sandbox Code Playgroud)
不幸的是,这在 LINQPad 6(来自 .NET Core 3.1)中不起作用,因为 Microsoft.MSAGL.GraphViewerGDIGraph 是一个 .NET Framework 包,依赖于 WinForms 工具栏控件,该控件已在 .NET Core 3.1 中删除。然而,MSAGL 是开源的,删除依赖关系相当容易,正如我在这里所做的那样:
https://github.com/albahari/automatic-graph-layout
| 归档时间: |
|
| 查看次数: |
3528 次 |
| 最近记录: |