生成word时,有时用户要求要生成所有级别的目录。
这个时候就需要计算目录树的深度。关于求树的深度,已有很多现成的算法。本文主要介绍一种linq的写法。代码看起来挺简洁的。
public static int MenuDepth(List<Menu> menuList, int parentId)
{
var children = menuList.Where(p => p.parentId == parentId);
if (children.Count() == 0)
return 1;
return 1 + children.Select(p => MenuDepth(menuList, p.id)).Max();
}
------------
DavidCai 2014-10-11 于家中
欢迎加我qq讨论任何关于导出word的问题:371323761
时间: 2024-10-29 04:27:52