C#简单的递归
- 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; }
}
文章评论
- 消灭零回复