如何从linq到object过滤2个列表创建列表

本文关键字:列表 过滤 2个 object 创建 linq | 更新日期: 2023-09-27 18:27:26

我想知道是否有一种方法可以使用Linq对象从过滤另外两个列表中获得列表。我有两个对象A和B的列表,它们通过一个atribute(代码:String)相互关联。B有另一个元素,名称:字符串。

我想得到一个满足2个条件的a对象的列表。

-所有A对象都必须将其A.编码矩阵与B列表中的任何B.编码矩阵相匹配。

-B.名称必须为="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>();

提前感谢!。

如何从linq到object过滤2个列表创建列表

根据您的要求,我认为我们应该使用Any方法,因此我们应该编写method query而不是expression query。当然,我不知道expression queryAny的等价物(至少它应该像method query中那样短,否则就不好了)。如果有人知道,请留下评论。谢谢你。

var FilteredAList = ListOfA.Where(x=>ListOfB.Any(y=>x.Code==y.Code && y.Name=="yoda"))
                           .ToList<A>();