我正在研究亲子关系。可能的关系是,1. 节点可以有很多孩子 2. 节点可以有很多父母 3. 节点可以有很多孩子和很多父母
当节点(假设一个孩子)有很多父母并且用户选择删除其父母之一时,我们不应该删除特定节点。但只需删除该父级。
我在 C# 4.0 中使用字典
我们拥有的任何设计模式或任何要参考的链接。
请分享。
谢谢
我正在研究亲子关系。可能的关系是,1. 节点可以有很多孩子 2. 节点可以有很多父母 3. 节点可以有很多孩子和很多父母
当节点(假设一个孩子)有很多父母并且用户选择删除其父母之一时,我们不应该删除特定节点。但只需删除该父级。
我在 C# 4.0 中使用字典
我们拥有的任何设计模式或任何要参考的链接。
请分享。
谢谢
如果我没有误解你的问题:
为此,您可以集成一个类。这是一些代码:
public class Node
{
public List<Node> Children { get; set; }
public List<Node> Parents { get; set; }
public string Name { get; set; }
// whatever
public Node()
{
Children = new List<Node>();
Parents = new List<Node>();
}
}
List parents 并不是真正必要的,但是使用它可以更容易地访问父节点(无需搜索您的节点是子节点的节点)。