使用Lambda Expression比较两个IEnumurable Collections

时间:2012-04-25 08:45:35

标签: c# linq lambda

我想知道如何使用 Lambda Expressions 比较两个IEnumerable集合值。

我已经发布了这个以获取LINQ,但它应该由Lambda Expression实现。

实现此目的的LINQ代码是:

var result = from ap in AvailablePacks 
             join rp in RecommendedPacks
             on ap.PackID equals rp.PackID
             select new 
             {  
                  PackQuantity =ap.Quantity
             }; 

现在我想通过使用Lambda Expression来实现这一目标。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

那么您真正要求的是从查询表达式到lambda表达式的转换?在这种情况下,您可以使用:

var result = AvailablePacks.Join(RecommendedPacks,
                                 ap => ap.PackID,
                                 rp => rp.PackID,
                                 (ap, rp) => new { PackQuantity = ap.Quantity });

有关查询表达式翻译的详细信息,请参阅Part 41 of my Edulinq blog series