获取所有上级的所有下级节点且Select和SelectMany的用法作用和区别

Posted 贤贤易色

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取所有上级的所有下级节点且Select和SelectMany的用法作用和区别相关的知识,希望对你有一定的参考价值。

SelectMany的用法

先给个参数

public class model
{
    public int id
    public user Users 
}
public class user
{
   public int id
   public string name
}

存数据

List<Model> List=new List<model>
{
   new model
   {
     id=1;
     Users= new User
     {
      id=2;
      name="猜猜我是谁"
     } 
   }
   new model()
   ...
   ..
   .

用法很简单

var result = List.SelectMany(x=>x.model) //取List里面所有model加上User中的所有数据

获取后是按循序排序
比如说

  new model
 {
  ner user{ id=1; }
  ner user{ id=1; }
 }

 model= new model
 {
  ner user{ id=2; }
  ner user{ id=2; }
 }

当一个里面有多个的时候,是在一起的

输出
id=1
id=1
id=2
id=2

按合成一个集合时的循序来的

Select和SelectMany的用法作用和区别

select 通常作用与集合或者自定义类的取值
例子:

var result =list.select(x=>new Models   <------models就是可以把值给自定义类,可以指取其中几个值
{ 
  ID=x.id,
  NAME=x.name,
});

SelectMany通常用作于取下一级节点的所有数据
例子:

var result =list.select(x=> new Models
{
   Id=x.id
   NameList=x.user.SelectMany(y=>y.name)  <--------可以指定获取某一个节点下的所有值
});

上述为个人理解,如有不对请指出

以上是关于获取所有上级的所有下级节点且Select和SelectMany的用法作用和区别的主要内容,如果未能解决你的问题,请参考以下文章

SQL查询无限层级结构的所有下级,所有上级

SQL查询无限层级结构的所有下级,所有上级

MYSQL查询上级和下级

php如何查找会员无限分类的所有上级和所有下级

jq获取上级同级下级元素

oracle 查找所有下级分类sql语句