递归生成树形结构

/// <summary>
        /// 递归获取树形数据
        /// </summary>
        /// <param name="areasDTOs"></param>
        /// <param name="parentID"></param>
        /// <returns></returns>
        private IEnumerable<object> GetAreaCity(IEnumerable<AreaModel> areasDTOs, string parentCode)
        {
            var data = areasDTOs as AreaModel[] ?? areasDTOs.ToArray();

            var ret = data.Where(d => d.ParentCode == parentCode).Select(n => new
            { 
                n.ID,
                n.AreaName,
                n.Code,
                n.ParentCode,
                n.HierarchyCode,
                children = GetAreaCity(data, n.HierarchyCode) 
            });

             
            return ret;
        }

 

posted @ 2020-08-08 10:53  Script丶  阅读(165)  评论(0)    收藏  举报