C#简单的递归

  • binGe博客
  • C#
  • 2024/1/25 17:11:22
  • 人已阅读
简介
 
C#简单的递归
/// <summary>
        /// 递归获取所有类目
        /// </summary>
        /// <param name="CateMenuList"></param>
        /// <param name="ParentID"></param>
        /// <returns></returns>
        public async Task<List<Sys_CategoryMenuTreeDto>> GetAllCateMenuListNew(List<Sys_CategoryMenuTreeDto> CateMenuList, long ParentID)
        {
            if (CateMenuList == null || CateMenuList.Count == 0)
            {
                CateMenuList = await _FreeSql.Select<Sys_CategoryMenu>().OrderBy(e => e.SortNum).ToListAsync<Sys_CategoryMenuTreeDto>();
            }

            var newLimitList = new List<Sys_CategoryMenuTreeDto>();
            newLimitList = CateMenuList.Where(t => t.ParentID == ParentID).ToList();

            foreach (var item in newLimitList)
            {
                item.ChildList = await GetAllCateMenuListNew(CateMenuList, item.ID);//下一层级
            }
            return newLimitList;
        }



Dto类:
   /// <summary>
    /// Sys_CategoryMenuTreeDto
    /// </summary>
    public class Sys_CategoryMenuTreeDto : BaseIDDto
    {
        /// <summary>
        /// 父ID
        /// </summary>
        public long ParentID { get; set; }


        /// <summary>
        /// 名称
        /// </summary>
        public string? Name { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        public int SortNum { get; set; }


        /// <summary>
        /// 子集
        /// </summary>
        public List<Sys_CategoryMenuTreeDto>? ChildList { get; set; }
    }

文章评论

评论
  • 消灭零回复
Top