使用非GUI选项替换TreeView

时间:2012-05-07 17:17:40

标签: c# class user-interface tree treeview

我正在开发一个大量使用TreeView和TreeNodes的项目。但是,我需要从现有程序中删除GUI并允许它在控制台中运行。我是C#的新手,但是我在找不到没有GUI的类似课程时遇到了麻烦。推荐的课程是什么?根据我的理解,没有Tree基类,但我可以创建自己的吗?

感谢。

1 个答案:

答案 0 :(得分:1)

树只是List<Node> s,其中Node是包含List<Node>的类和任何其他重要数据。实施起来有多容易取决于很多事情,但你不应该有太多麻烦:

public class Node<T> {
    private List<Node<T>> nodes;        

    public T Item { get; private set; }

    public Node(T item) {
        nodes = new List<Node<T>>();
        Item = item;
    }

    public IEnumerable<Node<T>> {
        return nodes;
    }

    //Add other things like: `Find(T item)`, `Add(T item)`
}

如果您愿意,可以创建一个Tree<T>类来封装一些搜索/操作函数,但这样可以让您朝着正确的方向前进。