码迷,mamicode.com
首页 > 其他好文 > 详细

无限层级数

时间:2021-06-25 17:23:59      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:parent   rank   highlight   value   key   cti   get   foreach   where   

public class ResList
    {
        public int ID { get; set; }
        public List<ResList> Child { get; set; } = null;
        public int Parent { get; set; }
        public int Rank { get; set; }
    }

 

  数据就是那种有父级ID的那种

List<ResList> reslist = new List<ResList>();//新的数据
            List<ResList> alllist = new List<ResList>();//原始数据
            //加载原始数据
            for (int i = 1; i < 10000; i++)
            {
                int j = 0;
                while (Math.Pow(10, j) <= i)
                {
                    j++;
                }

                alllist.Add(new ResList() { ID = i, Parent = i / 10, Rank = j });
            }
            //加载原始数据完成


            //下面是处理方法
            Dictionary<int, ResList> dic = new Dictionary<int, ResList>();

            foreach (ResList res in alllist)
            {
                dic.Add(res.ID, res);

            }
            foreach (ResList res in dic.Values)
            {
                if (dic.ContainsKey(res.Parent))
                {
                    if (dic[res.Parent].Child == null)
                    {
                        dic[res.Parent].Child = new List<ResList>();
                    }
                    dic[res.Parent].Child.Add(res);
                }
            }
            //得到最终的数据List
            reslist = dic.Values.Where(t => t.Parent == 1).ToList();

 

无限层级数

标签:parent   rank   highlight   value   key   cti   get   foreach   where   

原文地址:https://www.cnblogs.com/Kendy/p/14930946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!