我正在使用带MVVM模型的WPF应用程序。我想知道如何比较 两个IEnumerable集合值。我有两个IEnumerable 值,命名为 AvailablePacks 和 RecommendedPacks 。这两个集合具有不同的值集,但它们具有共同的属性 PackID 值。而AvailablePacks具有另一个名为 Quantity 的属性。
现在我想根据PackID 值比较这两个IEnumerable集合值,当两个集合具有相同的 PackID 时,我需要指定 Quantity < / strong>(在AvailablePacks内部)值为某个名为 PackQuantity 的变量,该变量在外部声明。
我是LINQ的新手所以我无法做到这一点。
那么我怎样才能做到这一点?任何人都可以告诉我这方面的解决方案吗?
感谢。
答案 0 :(得分:5)
var result = from ap in AvailablePacks
join rp in RecommendedPacks
on ap.PackID equals rp.PackID
select new {
PackQuantity = ap.Quantity
};
答案 1 :(得分:4)
你在找这样的东西吗?
var query = from x in AvaillablePacks
join y in RecommendedPacks on x.PackID equals y.PackID
select new
{
PackQuantity = x.Quantity
};
答案 2 :(得分:1)
像这样的东西应该为你工作:
var result = (from availablePack in AvaillablePacks
join recommendedPack in RecommendedPackson
availablePack.PackID equals recommendedPack .ID)
foreach(var availablePack in result)
availablePack .Quantity = PackQuantity ;