我一直在試圖找出是否有一種方法來使用IEnumerable的Sum方法來減去兩個值而不是將它們相加?使用IEnumerable.Sum來減去LINQ
IEnumerable<T> list = first
.Concat(second)
.GroupBy(x => new { x.crita, x.critb})
.Select(y => new T
{
//other fields//
vara= y.Sum(z => z.vara),
varb= y.Sum(z => z.varb),
varc= y.Sum(z => z.varc),
vard= y.Sum(z => z.vard)
});
我使用這種方法獲得兩個IEnumerables之間的和,我已經加入了,但我希望能夠減掉它們。
任何幫助將非常感激。
此外,如果有人能告訴我如何獲得產品和商,那真是太棒了!
你能舉一些例子數據和輸出嗎?雖然我們可以提供一些直接的解決方案,但我不確定你在做什麼是正確的方法 –
什麼會減去'IEnumerable'看起來像?從第一個減去所有後續的?從零減去它們全部?將它們相減然後求和結果?同樣商數。它們都是二元運算符,它們的順序或值都很重要(不像添加和乘以哪個順序無關)。在我們告訴你如何在LINQ中做到這一點之前,你需要告訴我們你想要的東西。 – Chris
在我看來,在你正在做的事情中,你可能確實有一個保證,你將只有兩個項目的每個標準組合,在這種情況下,我的問題的答案更容易,但它可能不是最好的做事方式(因爲它不會顯而易見你在做什麼)。 – Chris