zoukankan      html  css  js  c++  java
  • c# 树形递归

    public class Menu {
    public string Name { get; set; }
    public string Code { get; set; }
    public string ParentCode { get; set; }
    public List<Menu> list { get; set; }
    }

    public List<Menu> GetList(List<Menu> list,string parentCode) {
    List<Menu> listMenu = new List<Menu>();
    var listNew = list.Where(n => n.ParentCode == parentCode);
    if (listNew != null && listNew.Count() > 0)
    {
    foreach (var item in listNew)
    {
    List<Menu> listChild = GetList(list, item.Code);
    if (listChild!=null&&list.Count()>0) {
    Menu menu = new Menu();
    menu.Name = item.Name;
    menu.Code = item.Code;
    menu.ParentCode = item.ParentCode;
    menu.list = GetList(list, item.Code);
    listMenu.Add(menu);

    }
    else {
    Menu menu = new Menu();
    menu.Name = item.Name;
    menu.Code = item.Code;
    menu.ParentCode = item.ParentCode;
    listMenu.Add(menu);
    }

    }

    }
    else {
    return null;
    }
    return listMenu;
    }

    [HttpGet]
    public IActionResult Get()
    {
    List<Menu> list = new List<Menu>()
    {
    new Menu(){
    Name="菜单1",
    Code="100",
    ParentCode=""
    },
    new Menu(){
    Name="菜单2",
    Code="101",
    ParentCode=""
    },
    new Menu(){
    Name="菜单1-菜单1",
    Code="100001",
    ParentCode="100"
    },
    new Menu(){
    Name="菜单1-菜单1-菜单1",
    Code="100001001",
    ParentCode="100001"
    },
    new Menu(){
    Name="菜单1-菜单2",
    Code="100002",
    ParentCode="100"
    }
    ,
    new Menu(){
    Name="菜单1-菜单3",
    Code="100003",
    ParentCode="100"
    }
    };
    List<Menu> list1 = GetList(list,"");

  • 相关阅读:
    JSP 编码解说
    window系统之mongoDB安装,启动及如何设置为windows服务(总结)
    operator 安装
    JavaScript学习2
    JavaScript学习3
    win7的便签很好使
    COM技术内幕第九章笔记编程工作的简化
    VS乱码之UTF8篇
    必须而不是推荐尽量使用const引用参数
    查看不到网络连接(可以上网)
  • 原文地址:https://www.cnblogs.com/zhang-wenbin/p/14873977.html
Copyright © 2011-2022 走看看