您的位置:首页 > 产品设计 > UI/UE

关于easy- ui - tree的前篇 (1):

2016-03-04 22:04 513 查看
递归就是: 一条线执行到底 (父级的id在内存中开出的栈是不一样的,具有不同的地址还有不同的值) , 到底了以后
呢 又会返回到 有会执行foreach 去遍历 集合 然后找不到父集的id等于上一级的id的然后就会退出这一层了
去执行上面的一层的foreach 这一层 而且是继续执行下去的 依次类推
直到所有的都给执行完

这里有一个就是:1.函数的执行时从里到外的 2. 然后父级的id在内存中开出的栈是不一样的这样的id是不重复的 (障眼法)

public static void LoadTreeNode(List<Ou_Permission> listPer, List<TreeNode> listNodes, int pid)
{                                                                  //第二级的集合       还有第一级的id

foreach (var permission in listPer)
{
//如果权限父id=参数
if (permission.pParent == pid)
{
//将 权限转成 树节点                                              ///////中间 都是一行一行遍历的
TreeNode node = permission.ToNode();
//将节点 加入到 树节点集合
listNodes.Add(node);
//递归 为这个新创建的 树节点找 子节点
LoadTreeNode(listPer, node.children, node.id);   //node.children 是空的
//第二级的集合   还有第一级的id
上面的LoadTreeeNode()方法被执行完了以后就退出了
退到这里(这里是上一个foreach循环的)以后然后呢就退出了if循环了呗 然后继续执行foreach的函数了呗(这个时候foreach还没有执行完)然后就继续执行了

}
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: