我想在集合中放入一些数据。我已经有了一个解决方案,但我想让它更通用,更简单。恕我直言的嵌套字典对此没什么帮助。
private static Dictionary<enumRoot, Dictionary<enumLevel1, Dictionary<enumLevel2, Tuple<int, bool, string>>>>
因此每个节点/级别都应该有一个密钥,由枚举表示。最后(一个元组ATM)应该是一些对象。我想过实现某种复合模式的递归方法。我想过用List或List构造对象,然后添加每个。
我用Google搜索了一个TreeNodeCollection,但是我找不到很多关于它的信息。这个集合是否适用于我的案例,我该如何预测这个问题呢?
答案 0 :(得分:0)
您可以依赖自定义Class
来构建基于节点的结构。例如:
public enum nodeName { nodeName1, nodeName2, nodeName3 };
public enum nodeAttribute { nodeAttribute1, nodeAttribute2, nodeAttribute3 };
public class Node
{
public nodeName name { get; set; }
public Node parent { get; set; }
public Dictionary<nodeAttribute, string> attributes { get; set; }
public List<Node> children { get; set; }
}
可以使用以下内容轻松填充:
Node node1 = new Node();
Node node2 = new Node();
node1.name = nodeName.nodeName1;
node1.parent = null;
node1.attributes = new Dictionary<nodeAttribute, string>();
node1.attributes.Add(nodeAttribute.nodeAttribute1, "1");
node1.attributes.Add(nodeAttribute.nodeAttribute2, "2");
node1.children = new List<Node>();
node1.children.Add(node2);