LinQ groupby将列相乘并求和c# [英] LinQ groupby multiply columns and sum c#
本文介绍了LinQ groupby将列相乘并求和c#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在C#中有一个像这样的项目列表:
i have a list of items in c# like this:
Rid Pdv Total Quantity
DESAYUNOS VITP 55 1
CENAS REST 38 2
COMIDAS VITP 23 3
DESAYUNOS REST 116 7
CENAS VITP 112 1
COMIDAS REST 11 4
DESAYUNOS VITP 67 9
CENAS REST 20 2
COMIDAS VITP 47 5
DESAYUNOS REST 5 2
CENAS VITP 10 1
我想得到一个结果,数量乘以总计,然后将所有不同的"Pdv"和"Rid"的所有总计相乘,即使用GroupBy,但它仅对每个不同的"Rid"求和"和"Pdv"
I want to get a result in wich the Quantity is multiply by the Total and by that sum all totals for all diferent "Pdv" and "Rid", im using a GroupBy but it only sums the Total on each diferent "Rid" and "Pdv"
@foreach (var item in Model.GroupBy(l => l.Rid)
.Select(z => new
{
Turno = z.Key,
Total = z.Sum(l => l.Total)
}))
{
<input value="@item" />
}
在总和之前,如何使总计"乘以数量"?
How can i make it "Total" multiply the "Quantity" before Sum's up?
推荐答案
您应该这样做:
@foreach (var item in Model
.Select(x => new //here you count your total
{
Rid = x.Rid,
Total = x.Total * x.Quantity
})
.GroupBy(l => l.Rid) //and then grouping
.Select(z => new
{
Turno = z.Key,
Total = z.Sum(l => l.Total)
}))
{
<input value="@item" />
}
这篇关于LinQ groupby将列相乘并求和c#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文