2

我正在使用带有 MVVM 模型的 WPF 应用程序。我想知道如何比较两个 IEnumerable 集合值。我有两个 IEnumerable值,分别命名为 AvailablePacksRecommendedPacks。这两个集合具有不同的值集,但它们具有共同的属性PackID值。并且 AvailablePacks 具有另一个名为Quantity的属性。

现在我想根据 PackID值比较这两个 IEnumerable 集合值,当两个集合具有相同的PackID 时,我需要将该Quantity(AvailablePacks 内部)值分配给某个名为PackQuantity的变量,该变量在外部声明。

我是 LINQ 的新手,所以我无法正确执行此操作。

那么我该如何实现呢?谁能告诉我这个的解决方案?

谢谢。

4

3 回答 3

5
  var result = from ap in AvailablePacks  
             join rp in RecommendedPacks 
               on ap.PackID equals rp.PackID
               select new {
                  PackQuantity = ap.Quantity
               };
于 2012-04-24T11:01:15.547 回答
4

你在寻找这样的东西吗?

var query = from x in AvaillablePacks
            join y in RecommendedPacks on x.PackID equals y.PackID
            select new
            {
                PackQuantity = x.Quantity
            };
于 2012-04-24T10:57:32.397 回答
1

像这样的东西应该适合你:

var result = (from availablePack in AvaillablePacks 
                join recommendedPack in RecommendedPackson 
                     availablePack.PackID equals recommendedPack .ID)

foreach(var availablePack in result)
    availablePack .Quantity = PackQuantity ;
于 2012-04-24T10:57:40.417 回答