如何使用 LINQ 比较两个 IEnumerable 集合
本文关键字:两个 IEnumerable 集合 何使用 LINQ 比较 | 更新日期: 2023-09-27 18:32:01
我正在使用带有MVVM模型的WPF应用程序。我想知道如何比较 两个 IEnumerable 集合值。我有两个 IEnumerable 值,命名为 可用包和推荐包。这两个集合具有不同的值集,但它们具有公共属性 PackID 值。和可用包具有另一个名为数量的属性。
现在我想根据 PackID 值比较这两个 IEnumerable 集合值,当两个集合具有相同的 PackID 时,我需要将该数量(可用包内部)值分配给一个名为 PackQuantity 的变量,该变量在外部声明。
我是 LINQ 的新手,所以我无法正确执行此操作。
那么我怎样才能做到这一点呢?谁能告诉我解决这个问题的方法?
谢谢。
var result = from ap in AvailablePacks
join rp in RecommendedPacks
on ap.PackID equals rp.PackID
select new {
PackQuantity = ap.Quantity
};
你在寻找这样的东西吗?
var query = from x in AvaillablePacks
join y in RecommendedPacks on x.PackID equals y.PackID
select new
{
PackQuantity = x.Quantity
};
像这样的Somethign应该适合你:
var result = (from availablePack in AvaillablePacks
join recommendedPack in RecommendedPackson
availablePack.PackID equals recommendedPack .ID)
foreach(var availablePack in result)
availablePack .Quantity = PackQuantity ;