[英]How to recursively check if the entity has a collection of children of that same entity?
所以我有一個節點,這意味着一行文本。 這是代碼:
public class Node : BaseEntity
{
public string Name { get; set; }
public int Position { get; set; }
public Guid? ParentId { get; set; }
public virtual Node Parent { get; set; }
public virtual ICollection<Node> Children { get; set; }
}
這是應該的樣子:
A. Blabla
A.1 Meetings
A.1.1 Standup
A.2 Documents
A.2.1 Wages
A.2.1.1 Management
A.2.1.1 Workers
B. Whatever
....
所以每個節點都有它的名字,一個 position(A1、A2 等...),如果它有一個節點(除了最頂層的節點,例如 A 和 B),如果它有子節點(例如 A 有兒童 A1、A2 等...)
我如何遞歸地檢查一個節點是否有孩子,然后 foreach 這些孩子 => 如果這些孩子中的任何一個有孩子,等等......
例如,即使它有 7 層深......
據我所知,你基本上有一個樹結構。
您已經在節點上擁有子項信息,因此您可以查看這篇文章以了解如何遍歷它們。
您可以使用此代碼從父級開始遍歷您的樹。
public static void ProcessChildren(Node parent)
{
Console.WriteLine(parent.Position +" "+ parent.Name);
foreach (Node node in parent.Children)
{
ProcessChildren(node);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.