Dan*_*now 5 c# linq linq-to-objects
我想知道是否有一种方法可以使用Linq来反对从过滤2个其他列表中获取列表.我有两个对象A和B的列表,它们通过一个属性(代码:字符串)相互关联.B有另一个属性,Name:String.
我想获得满足2个条件的A对象列表.
- 所有A对象必须将其A.Code属性与B列表中的任何B.Code属性相匹配.
-B.Name必须是="yoda";
我试过这个代码(和另一个例子),但它似乎工作,我不知道为什么.我刚开始使用linQ.
List<A> FilteredAList = (from OneA in ListOfA
join OneB in ListOfB
on OneA.Code equals OneB.Code
where OneB.Name == "yoda"
select OneA).ToList<A>();
Run Code Online (Sandbox Code Playgroud)
提前致谢!.
有了您的要求,我觉得应该用Any
的方法,因此,我们应该写method query
没有expression query
.当然,我不知道相当于Any
在expression query
(至少应该是短期作为method query
,否则,这不是好).如果有人知道,请留下一些评论.感谢那.
var FilteredAList = ListOfA.Where(x=>ListOfB.Any(y=>x.Code==y.Code && y.Name=="yoda"))
.ToList<A>();
Run Code Online (Sandbox Code Playgroud)