当前位置: 首页 > news >正文

宁波网站建设工作用vue做网站一般用什么组件库

宁波网站建设工作,用vue做网站一般用什么组件库,app开发需求文档模板,公司网站需要多少钱一、目的 该程序展示了如何将树形结构的数据(例如家庭成员信息)转化为一维列表形式,以便于存储、展示或操作。 二、流程思路 创建树:首先通过 GetDemoTree 创建一个简单的家庭树,树的根节点是“爸爸”,然…

一、目的

        该程序展示了如何将树形结构的数据(例如家庭成员信息)转化为一维列表形式,以便于存储、展示或操作。

二、流程思路

  1. 创建树:首先通过 GetDemoTree 创建一个简单的家庭树,树的根节点是“爸爸”,然后通过父子关系组织出完整的树结构。
  2. 递归转换:通过 GetListTree 方法,将该树结构转化为一维列表。在这个过程中,树的每个节点都会被递归遍历,并转换为 TreeList<PersonTree> 形式的条目,保存节点的层级信息(Level)和节点的详细数据(Data)。
  3. 结果:最终生成的 listTree 是一个平坦的、按层级排列的列表,可以用于展示、处理或者进一步的分析。

三、代码展示

using System;
using System.Collections.Generic;class PersonTree
{public int Id { get; set; }public int? ParentID { get; set; }public string Name { get; set; }public List<PersonTree> Children = new List<PersonTree>();
}class TreeList<T> where T : class, new()
{/// <summary>/// 树ID(从T获取)/// </summary>public string Id { get; set; }/// <summary>/// 树的父级的ID(从T获取)/// </summary>public string PId { get; set; }/// <summary>/// 树的层级(从1开始)/// </summary>public int Level { get; set; }/// <summary>/// 树的对应节点的实体(如果数据量太大了,可以不写这个属性,把需要的属性例如Name放到外面去)/// </summary>public T Data { get; set; } = new T();
}class Program
{static void Main(){//获取测试树:爸爸 - 我 妹妹 - 儿子 女儿var demoTree = GetDemoTree();//把树递归后转化为一维列表List<TreeList<PersonTree>> listTree = GetListTree(demoTree);;}private static List<TreeList<PersonTree>> GetListTree(PersonTree demoTree, int level = 1){List<TreeList<PersonTree>> output = new List<TreeList<PersonTree>>();// 每次递归都会new出output,因此不会反复添加根节点output.Add(new TreeList<PersonTree>{Id = demoTree.Id.ToString(),PId = demoTree.ParentID.ToString(),Level = level,Data = demoTree});// 如果有子节点,递归调用,增加层级if (demoTree.Children != null){foreach (var item in demoTree.Children){output.AddRange(GetListTree(item, level + 1));  // 递归调用时传递新的层级}}return output;}public static PersonTree GetDemoTree(){// 创建爸爸节点PersonTree dad = new PersonTree{Id = 1,Name = "爸爸",ParentID = null};// 创建我节点PersonTree me = new PersonTree{Id = 2,Name = "我",ParentID = dad.Id};// 创建妹妹节点PersonTree sister = new PersonTree{Id = 3,Name = "妹妹",ParentID = dad.Id};// 创建儿子节点PersonTree son = new PersonTree{Id = 4,Name = "儿子",ParentID = me.Id};// 创建女儿节点PersonTree daughter = new PersonTree{Id = 5,Name = "女儿",ParentID = me.Id};// 将儿子和女儿添加为我的子节点me.Children.Add(son);me.Children.Add(daughter);// 将我和妹妹添加为爸爸的子节点dad.Children.Add(me);dad.Children.Add(sister);return dad;}
}

【思考】假如PersonTree 没有 ParentID 这个字段 应该如何递归生成一维列表呢

【答案】递归方法多加一个Parent字段

private static List<TreeList<PersonTree>> GetListTree(PersonTree demoTree, int level = 1, string parentId = null)
{List<TreeList<PersonTree>> output = new List<TreeList<PersonTree>>();// 每次递归都会new出output,因此不会反复添加根节点output.Add(new TreeList<PersonTree>{Id = demoTree.Id.ToString(),PId = parentId,Level = level,Data = demoTree});// 如果有子节点,递归调用,增加层级if (demoTree.Children != null){foreach (var item in demoTree.Children){output.AddRange(GetListTree(item, level + 1, demoTree.Id.ToString()));  // 递归调用时传递新的父ID}}return output;
}

http://www.yayakq.cn/news/752254/

相关文章:

  • 做企业网站需要哪些莱州网站建设有限公司
  • 十条网站建设的seo策略网店营销网站
  • 大恒建设集团有限公司网站如何建网站开网店
  • 微网站建设的第一步是什么肃州区建设局网站
  • 做网站行情wordpress建站 评测
  • 网站制作三站一元注册公司流程
  • seo整站优化外包wordpress内容关键字
  • 网站模板下载好之后如何安装公司官网怎么做的
  • 网站证书打印格式不正确手把手做网站页面
  • 专业苏州网站建设做外贸营销网站
  • 上海市工程建设质量管理协会网站青岛教育平台网站建设
  • 帮别人做违法网站电商网络销售好不好做
  • 广州市恒嘉建设有限公司网站免费的网站建设开发
  • 襄樊网站建设中国国家人事人才培训网证书查询
  • 淘宝客网站怎么做优化vmware云平台
  • 厦门网络推广建网站wordpress优缺点
  • 东莞网站制作搭建吉林省长春网站建设
  • 济南网站建设泉诺广州在线网页制作工具
  • 二手图书交易网站建设营销运营管理
  • 网站界面设计实验报告wordpress 菜单 页面
  • 域名注册的网站都有哪些做网站赚钱一般做什么
  • 重庆网站建设哪家公司那家好苏州集团网站制作设计
  • 网站建设有什么注意wordpress修改主题文件
  • 织梦 网站源码网站建设网站推广
  • 机械设计网站有哪些石家庄vi设计公司
  • 网站建设毕业设计中期进度报告欧莱雅的网络营销策划方案
  • 网站运营规划公众号怎么推广
  • 用nodejs可以做网站么高级网页设计师证
  • 培训制作网站源码秦皇岛营销式网站
  • 新手建设网站网站建设肆金手指排名6