C#中LINQ的联合查询

联合查询

顾名思义,也就是将两个集合结合在一起进行查询的办法。

  • 表达式写法:
var res = from m in masterList
    from s in skillList
    where m.Age == s.WorkAge
    select new {master = m, skill = s};
var res = from m in masterList
    from s in skillList
    where m.Id == s.Id && s.skillLevel > 5
    select ml;
  • 扩展方法写法:
var res = masterList.SelectMany(m=>skillList, (m,s)=> new{master = m, skill = s});

添加条件

//这其中,对于SelectMany方法的参数中,有两个委托
//首先将skillList传递过来,让其与masterList做一个联合
//第二个委托,则是将结果给组拼起来
var res = masterList.SelectMany(m=>skillList, (m,s)=> new{master = m, skill = s}).Where( x =>x.master.Age == x.skill.WorkAge);

猜你喜欢

转载自blog.csdn.net/lym940928/article/details/80292117