我想知道是否有一种使用Linq对象从过滤其他两个列表中获取列表的方法。我有两个对象A和B的列表,它们是由一个属性相互关联的(代码:String)。B还有另一个分布,名称:String。
我想要一个符合两个条件的对象的列表。
A对象的-All必须将其A.Code分布与B列表中的任何B.Code分布匹配。
-B.Name必须是=“尤达”;
我试过使用这段代码(和另一个例子),但它似乎不起作用,我不知道为什么。我刚从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>();提前谢谢!.
发布于 2013-08-12 00:20:12
根据您的要求,我认为我们应该使用Any方法,因此我们应该编写method query而不是expression query。当然,我不知道Any在expression query中的等效性(至少在method query中应该是short,否则就不好了)。如果有人知道,请留下一些评论。谢谢你这么说。
var FilteredAList = ListOfA.Where(x=>ListOfB.Any(y=>x.Code==y.Code && y.Name=="yoda"))
.ToList<A>();https://stackoverflow.com/questions/18178005
复制相似问题