2

MVVM モデルで WPF アプリケーションを使用しています。2 つの IEnumerable コレクション値を比較する方法を知りたいです。AvailablePacksRecommendedPacksという名前の2 つの IEnumerable値が あります。これら 2 つのコレクションの値のセットは異なりますが、共通のプロパティPackID値を持っています。また、 Quantityという名前の別のプロパティを持つ AvailablePacks 。

ここで、PackID 値に基づいてこれら 2 つの 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 に答える