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;
            }
        }
  • 相关阅读:
    tomcat的HTTPS
    java websocket开发的客户端程序
    Java后端WebSocket的Tomcat实现
    java 注解
    工作队列
    中断共享(硬件角度)
    电平触发与边沿触发中断的理解
    kuser_cmpxchg_check 原子操作
    新建普通进程
    fork 至 “sys_clone" SyS_clone
  • 原文地址:https://www.cnblogs.com/ZaraNet/p/9500522.html
Copyright © 2011-2022 走看看