首页 > 其他分享 >Linq递归

Linq递归

时间:2022-12-17 16:22:08浏览次数:37  
标签:递归 list List Linq regions GetRegion query id

        public IEnumerable<NavigationMagnetics> GetRegion(List<NavigationMagnetics> list, int id)
        {
            IEnumerable<NavigationMagnetics> query = from region in list
                                        where region.Id == id
                                        select region;
            return query.ToList().Concat(query.ToList().SelectMany(r => GetRegion(list, r.Supid.ToInt32())));
        }
        // 生成最终结果
        public List<NavigationMagnetics> GetResult(List<NavigationMagnetics> list, int id)
        {
            List<NavigationMagnetics> regions = new List<NavigationMagnetics>();
            regions.AddRange(list.Where(r => r.Id == id));
            regions.AddRange(GetRegion(list, regions.Where(x=>x.Id== id).FirstOrDefault().Supid.ToInt32()));
            return regions;
        }

  

标签:递归,list,List,Linq,regions,GetRegion,query,id
From: https://www.cnblogs.com/xiangshifu/p/16989109.html

相关文章

  • 重学c#系列——linq(3) [二十九]
    前言继续介绍一些复杂的linq。正文groupjoin这个函数:有departmentpublicclassDeployment{ publicstringId{get;set;} publicDeployment(stringid) {......
  • 使用匿名类型存储LINQ查询结果
    匿名类型的特性:1.既支持简单类型也支持复杂类型。简单类型必须是一个非空初始值,复杂类型则是一个以new开头的初始化项;2.匿名类型的属性是只读的,没有属性设置器,它......
  • LINQ 查询简介 (C#)
    查询是一种从数据源检索数据的表达式。查询通常用专门的查询语言来表示。随着时间的推移,人们已经为各种数据源开发了不同的语言;例如,用于关系数据库的SQL和用于XML的......
  • SqlServer 递归查询
    语法--查询字段列表格式为([查询字段名1],[查询字段名2],...),也可用*代替--需要注意的是此处的查询字段列表中的字段与下方内容中定点成员与递归成员查询字段列表内容......
  • [转]C# Linq
    linq可以对多种数据源和对象进行查询,如数据库、数据集、XML文档、数组等。通过对linq的使用,可以减少代码量并优化检索操作。LINQ关键字from指定数据源和范围变量wher......
  • 二叉树前中后序递归遍历完整代码【超简单易懂】
    //二叉树的前中后序遍历【递归法】#include<iostream>usingnamespacestd;//结点结构体typedefstructBTnode{ chardata;//自己的数据 BTnode*lch......
  • 全排列(递归)
    排列:从n个数中选取m(m<=n)个数按照一定的顺序进行排成一个列,叫作从n个元素中取m个元素的一个排列。不同的顺序是一个不同的排列。从n个元素中取m个元素的所有排列的个数,称为......
  • 重学c#系列——linq(2) [二十八]
    前言前文提及到了一些基础的linq的基础,那么这一节是一些补充。正文关于一个orderby的问题。比如我们输入两个orderby。这里告诉我们多个orderby是没有意义的,如果多......
  • JS使用递归将原始数据转换为树形结构数据
    因为数据库中存放的数据终究全是扁平化的,因此获取后要手动将其改成树形结构,方便el-tree进行渲染。假设数据如下(至少是要有节点ID和父节点ID)   最终要达到如下效果(e......
  • linq 如何使用left join?
    提问linq如何使用leftjoin?回答fromvinlist1joincinlist2onv.[条件]equalsc.[条件]selectnew实体......