我有一个类型为HierarchyNode的'上级对象',它将具有相同类型HierarchyNode的childnodes(每个子节点可能有它们的子节点)。需要树状结构数据检索的帮助
我应该从'上级对象'中读取reqested父节点的子节点。所以我的代码如下(调用者 - superiorObject.IdentifySubNodeOfRequestedNode(...))。但是,如果循环被执行并且不是所有的代码返回值异常,foreach循环事件中的stopRecursiveCall都是false。如何解决这个问题并返回childnodes,或者有没有更好的解决方案来解决这个问题?由于
public List<HierarchyNode> IdentifySubNodeOfRequestedNode(int reqstedId, Boolean stopRecursiveCall)
{
if (this.UserId == reqstedId)
{
stopRecursiveCall = true;
return this.ChildNodes;
}
foreach (HierarchyNode childNode in this.ChildNodes)
{
childNode.IdentifySubNodeOfRequestedNode(reqstedId, stopRecursiveCall);
if (stopRecursiveCall)
break;
}
}
你是不是你的方法中返回任何东西。它甚至编译? –
此外,你总是检查this.UserId,你不递归其子节点... – digEmAll
@digEmAll他其实是。他正在调用'childNode.IdentifySubNodeOfRequestedNode()' –