我有兩個陣列..從一個列表只有那些存在於另一個和秩序由第二列表中選擇 - LINQ
var data1 = new[] {
new { Product = "Product 1", Year = 2009, Sales = 1212 },
new { Product = "Product 2", Year = 2009, Sales = 522 },
new { Product = "Product 1", Year = 2010, Sales = 1337 },
new { Product = "Product 2", Year = 2011, Sales = 711 },
new { Product = "Product 2", Year = 2012, Sales = 2245 },
new { Product = "Product 3", Year = 2012, Sales = 1000 }
};
var data2 = new[] {
new { Product = "Product 1", Year = 2009, Sales = 1212 },
new { Product = "Product 1", Year = 2010, Sales = 1337 },
new { Product = "Product 2", Year = 2011, Sales = 711 },
new { Product = "Product 2", Year = 2012, Sales = 2245 }
};
我通過Product
要組data1
和Sales
僅做團體的總和那些存在於data2
中的產品並以與它們在data2
中相同的方式訂購它們。請注意,即使產品存在於data2
中,該產品的data1
中的所有年份都不存在於data2
(例如{ Product = "Product 2", Year = 2009, Sales = 522 }
)中,因此分組和總和將必須發生在data1
上。
只是做分組和總結以下應該工作..
data1.GroupBy(x=>x.Product)
.Select(x=>new {Product=x.Key,Total= x.Sum(s=>s.Sales)})
但是我怎麼保證我的數據2只選擇產品,如數據2由Product
責令結果
將這種不受DATA1產品訂單訂購吧 – Arnab