存储树结构的集合是什么?

我想在组合中存储组织结构图。 我认为树数据结构最适合我的需要,因为我需要在一个节点上添加多个节点。

如果我理解正确, LinkedList只提供一个节点添加到另一个节点。

我查看了C5 treeset集合,但似乎没有Add()方法向一个节点添加2个以上的节点。

我还从Windows窗体库中查看了Treeview类,但我不想将Windows窗体dll添加到我的项目中,因为我正在构建服务层应用程序。 (还是没事?)

我不想写自己的树集合类,如果已经有第三方提供的那个?

有什么建议吗?

谢谢

这样的事情可以作为一个起点。 通过使用generics,这个可以容纳任何树的树

 class TreeNode { List> Children = new List>(); T Item {get;set;} public TreeNode (T item) { Item = item; } public TreeNode AddChild(T item) { TreeNode nodeItem = new TreeNode(item); Children.Add(nodeItem); return nodeItem; } } 

一个持有一串字符串的样本

 string root = "root"; TreeNode myTreeRoot = new TreeNode(root); var first = myTreeRoot.AddChild("first child"); var second = myTreeRoot.AddChild("second child"); var grandChild = first.AddChild("first child's child");