2つのフィールドを持つ2つのリストがあります。私は手前でどれが大きいかわからない。linqでの2つのリストの相違
は、私はこれを達成したい:
newList oldList
Fruit Qty Diff Fruit Qty
--------------------------------------------
apple 3 +1 apple 2
-2 pear 2
peach 4 +3 peach 1
melon 5 0 melon 5
coconut 2 +2
mango 4 0 mango 4
banana 2 -1 banana 3
lychi 1 +1
-3 pineapple 3
一つ左はあなたが右oldListにnewListを見ることができます。 oldListとnewListを比較すると、2つのリスト間の可能なすべての行と数量の差異を確認したいと考えています。
私は私に、両方のリストに含まれていない果実(XOR)
var difference = newList.Select(x => x.Fruit)
.Except(oldList.Select(x => x.Fruit))
.ToList()
.Union(oldList.Select(x => x.Fruit)
.Except(newList.Select(x => x.Fruit))
.ToList());
を与えることになる、これを書いたしかし、私は、同様に数量とそれを組み合わせる方法に迷ってしまいました。
これは、ループ内で、通常の 'foreach'して、簡単なLINQを使用するもののようなもののように思えます。そして、これらは本当にリストですか?それとも実際に辞書ですか? – ryanyuyu
あなたの 'フルーツ'はクラスですか?もしそうなら、あなたの質問にそれを加えてください。 – Cameron
これらのリストは、データベースからのlinqクエリの結果で、果物と数量の2つの列のみを使用した結果です。だからフルーツは野原です。 – Zikato