从数据库中读出树形数据,并快速构建树型类关系

本文介绍了在.NET 2.0环境下,使用C#通过单次循环和递归方法,如何从数据库的三列(id, upid, name)表中高效构建内存中的TreeNode树型结构。代码示例展示了如何获取排序后的TreeNode列表,并通过递归函数AddNodeToTree将节点添加到树中。" 104204562,8535600,织梦CMS仿站实战:从备份到上传全攻略,"['前端开发', 'CMS']
摘要由CSDN通过智能技术生成

            在软件开发中经常用到树形的数据结构(如:物品分类),一般数据库设计人员都采用三列(id,upid,name)表存储数据,对于大型的树,如何把从数据库中读出的数据快速构建成内存中的树型类(如:TreeNode 关系),一定要仔细考虑算法的设计以提高效率。

            本文在.net 2.0环境下使用 C#语言, 用单次循环加一递归过程实现了快速构建TreeNode关系。

           代码如下:

           /// <summary>
           /// 从数据库中读出分类数据并构建TreeNode树
           /// </summary>
           /// <returns>根TreeNode实例</returns>
           public static TreeNode GetFenLeiTree()
           {
               SortedDictionary<string, TreeNode> flList = GetTreeNodeList();
               SortedDictionary<string, TreeNode> AddedList = new SortedDictionary<string, TreeNode>();
               TreeNode rootNode = new TreeNode(MyConfig.FenLeiRootName);
               rootNode.Name = "-1";
               foreach (TreeNode fli in flList.Values)
               {
    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值