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,"");

  • 相关阅读:
    UED
    内容分发网络CDN(互联网技术)
    分布式系统基础架构
    十六进制后按高低位分开(转)
    Kafka.net使用编程入门(二)
    Storm集成Kafka应用的开发
    .net 框架
    .NET 的 WebSocket 开发包比较(转)
    ASP.NET Web API上实现 Web Socket
    Scrapyd部署爬虫
  • 原文地址:https://www.cnblogs.com/zhang-wenbin/p/14873977.html
Copyright © 2011-2022 走看看