【发布时间】:2014-02-02 07:02:26
【问题描述】:
这可能只是一些逻辑问题.. 或我的设计问题 目前在跟踪功能以跟踪层次结构时遇到障碍
我有一个自定义的团队类
public class Team
{
public int PositionID;
public int? LeaderId;
public List<Team> Members = new List<Team>();
public Team(int positionid, int? leaderid)
{
PositionID = positionid;
LeaderId= leaderid;
}
}
生成的数据以树的形式呈现 节点是一个列表
这是我获得直接领导的功能
public static Team GetChildNode(List<Team> nodes, int seekId)
{
Team found = null;
//store leaders of leader that lead to the seek leader.
List<Team> Leaders= new List<Team>();
foreach (Team node in nodes)
{
if (found == null)
{
if (node.PositionID == seekId)
{
found = node;
return found;
}
else
{
if (node.Members.Count > 0)
{
return GetChildNode(node.Members, seekId);
}
}
}
}
return found;
}
目前回报会根据数据给我一个有或没有成员的团队。
在调试时我注意到上面的这个逻辑我似乎正在命中
return GetChildNode(node.Members, seekId);
即使在找到节点之后..
我想跟踪导航..
这个函数的另一个词是让我成为直接领导者。
我想让直接领导>领导>领导>直到主要领导(领导没有领导)
我不介意返回一个列表,其中列表最小索引 0 是主要领导者,最大索引是直接领导者
【问题讨论】:
标签: c# asp.net-mvc algorithm design-patterns entity-framework-4