zoukankan      html  css  js  c++  java
  • Recursion之Demo

    Model:

    public class PerSon
        {
            [DisplayName("标识id")]
            public string id { get; set; }
            [DisplayName("名称")]
            public string name { get; set; }
            [DisplayName("年龄")]
            public int age { get; set; }
            [DisplayName("父级")]
            public int? PerSonId { get; set; }
            /// <summary>
            /// 该分类的子分类
            /// </summary>
            public List<PerSon> items { get; set; }
        }

    Code:

     class Program
        {
            static List<PerSon> list = new List<PerSon>()
                {
                    new PerSon(){ id = "1", age=21, name="张飞1", PerSonId = null },
                    new PerSon(){ id = "2", age=22, name="张飞7", PerSonId = null },
                    new PerSon(){ id = "3", age=23, name="张飞8", PerSonId = null },
                    new PerSon(){ id = "4", age=24, name="张飞5", PerSonId = 1 },
                    new PerSon(){ id = "5", age=25, name="张飞4", PerSonId = 2 },
                    new PerSon(){ id = "6", age=27, name="张飞3", PerSonId = 3 },
                    new PerSon(){ id = "7", age=28, name="张1", PerSonId = 3 },
                    new PerSon(){ id = "8", age=29, name="张2", PerSonId = 4 },
                    new PerSon(){ id = "9", age=30, name="张飞1", PerSonId = 5 },
                };
            static void Main(string[] args)
            {
                var ViewData = new List<PerSon>();
                list.ForEach((u) =>
                {
                    if (u.PerSonId == null)
                    {
                        ViewData.Add(new PerSon()
                        {
                            age = u.age,
                            id = u.id,
                            name = u.name,
                            items = getitem(u.id)
                        });
                    }
                });
                var a = ViewData;
            }
            public static List<PerSon> getitem(string id)
            {
                List<PerSon> perSons = new List<PerSon>();
                foreach (var items in list)
                {
                    if (items.PerSonId.ToString() == id)
                    {
                        perSons.Add(new PerSon()
                        {
                            age = items.age,
                            id = items.id,
                            name = items.name,
                            PerSonId = Convert.ToInt32(id),
                            items = getitem(items.id)
                        });
                    }
                }
                return perSons;
            }
        }
  • 相关阅读:
    openstack生产要素
    None
    nginx优化 tbc
    zabbix开源监控解决方案
    HUGO & Hexo
    mysql数据库-运维合集
    Zabbix Agent ver5.0 批量部署
    CRI containerd
    zabbix聚合图形与Grafana图形展示
    zabbix 监控tomcat
  • 原文地址:https://www.cnblogs.com/ZaraNet/p/9500522.html
Copyright © 2011-2022 走看看