C#实现一颗树!

简介:
 1:  static List<Entity.OA.Department> entitiesList = null;
 2:   
 3:          internal static void Reload()
 4:          {
 5:              entitiesList = (from pc in iDepartmentsRepository.GetDepartments()
 6:                              orderby pc.DeptName ascending
 7:                              select pc).ToList();
 8:          }
 9:   
10:          #region 树型部门列表
11:          /// <summary>
12:          /// 虚拟产品类别 
13:          /// </summary>
14:          /// <returns>虚拟产品类别列表</returns>
15:          public static Entity.OA.Department GetTree()
16:          {
17:              Reload();
18:              Entity.OA.Department root = new Entity.OA.Department();
19:              try
20:              {
21:                  root = entitiesList.Single(
22:                     item => item.DeptID.Equals(Entity.OA.Department.ROOTID));//获取跟节点
23:                  GetSubs(root);
24:   
25:              }
26:              catch (InvalidOperationException ex)
27:              {
28:                  ex.ToString();
29:              }
30:              return root;
31:          }
32:   
33:   
34:          /// <summary>
35:          /// 根据父对象,找到子孙树
36:          /// </summary>
37:          /// <param name="father">父对象</param>
38:          static public void GetSubs(Entity.OA.Department father)
39:          {
40:              father.SubList = entitiesList.Where(item =>
41:                  item.ParentID.Equals(father.DeptID)).ToList();
42:              father.SubList.ForEach(item =>
43:              {
44:                  item.Father = father;
45:                  GetSubs(item);      
46:              });
47:   
48:          }

49: #endregion

本文转自博客园张占岭(仓储大叔)的博客,原文链接:C#实现一颗树!,如需转载请自行联系原博主。

目录
相关文章
|
编译器 C#
表达式树练习实践:C#值类型、 引用类型、泛型、集合、调用函数
表达式树练习实践:C#值类型、 引用类型、泛型、集合、调用函数
138 0
表达式树练习实践:C#循环与循环控制
表达式树练习实践:C#循环与循环控制
116 0
表达式树练习实践:C#判断语句
表达式树练习实践:C#判断语句
119 0
表达式树练习实践:C# 五类类运算符的表达式树表达
表达式树练习实践:C# 五类类运算符的表达式树表达
98 0
|
算法 C#
【愚公系列】2021年11月 C#版 数据结构与算法解析(树)
【愚公系列】2021年11月 C#版 数据结构与算法解析(树)
100 0
|
机器学习/深度学习 C# 算法
带你读《C#神经网络编程》之三:决策树和随机森林
本书旨在为C#程序员使用神经网络、CNTK等C#库和TensorFlowSharp解决复杂的计算问题时,提供实践指导。本书从神经网络入门知识开始,详细介绍如何使用Encog、Aforge和Accord搭建一个神经网络,帮助你深入理解神经网络相关概念和技术,例如深度网络、感知器、优化算法、卷积网络和自动解码器。此外,还详细讲解如何向.NET应用程序中添加智能特性,例如面部和运动检测、对象检测和标注、语言理解、知识和智能搜索。
|
API C#
(C#)把磁盘目录树加载在窗体菜单中
这又是一个没有技术含量的代码。写出来只是玩玩,所以也不敢放在首页。这里有个问题,是获取文件/文件夹的图标。使用 System.Drawing.Icon.ExtractAssociatedIcon 只能获取大图标(不知道有没有高手能做到取小图标)。
924 0