获取所有上级的所有下级节点且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的用法作用和区别的主要内容,如果未能解决你的问题,请参考以下文章