C# LINQ:不同元素的和()
鉴于以下清单:C# LINQ:不同元素的和(),c#,linq,C#,Linq,鉴于以下清单: (TABLE1) Expedient Amount 1 10 1 10 2 3 2 3 3 4 我想计算不同权宜之计的“金额”之和。因此,总金额应为: 10 (from Expedient 1) + 3 (from Expediente 2) + 4 (from Expedient 3) = 10 + 3 + 4 = 17 类似于以下SQL语句的内容: Select SUM(Amou
(TABLE1)
Expedient Amount
1 10
1 10
2 3
2 3
3 4
我想计算不同权宜之计的“金额”之和。因此,总金额应为:
10 (from Expedient 1) +
3 (from Expediente 2) +
4 (from Expedient 3) =
10 + 3 + 4 = 17
类似于以下SQL语句的内容:
Select SUM(Amount) from
(Select Distinct Expedient, Amount from TABLE1) DummyTable
在我脑子里,像这样的事情应该会起作用:
TABLE1
.GroupBy(t => new {t.Expedient, t.Amount})
.Select(g => g.FirstOrDefault())
.Sum(item => item.Amount);
在我脑子里,像这样的事情应该会起作用:
TABLE1
.GroupBy(t => new {t.Expedient, t.Amount})
.Select(g => g.FirstOrDefault())
.Sum(item => item.Amount);
斯彭德的解决方案恰到好处。如果您想更紧凑一点(这就是LINQ),请使用
GroupBy
:
Table1.GroupBy(t => new {t.Expedient, t.Amount}, (t, g) => g.First()).Sum(g => g.Amount)
斯彭德的解决方案恰到好处。如果您想更紧凑一点(这就是LINQ),请使用
GroupBy
:
Table1.GroupBy(t => new {t.Expedient, t.Amount}, (t, g) => g.First()).Sum(g => g.Amount)
试用代码:
var result = (from p in tabledetails.AsEnumerable()
group p by p.id into jj
select new table1
{
id = jj.FirstOrDefault().id,
value = jj.ToList().Max(c => c.value)
}).ToList().Sum(c => c.value);
试用代码:
var result = (from p in tabledetails.AsEnumerable()
group p by p.id into jj
select new table1
{
id = jj.FirstOrDefault().id,
value = jj.ToList().Max(c => c.value)
}).ToList().Sum(c => c.value);
请出示相关的C#code和您的车型类别如果您对相同的
权宜之计有不同的金额
编号,您会怎么做?您如何选择?此处无主要详细信息,权宜之计的金额始终相同。请显示相关的C代码和您的型号类别。如果相同的权宜之计
数量不同,您会怎么做?如何选择?此处没有主详细信息,权宜之计总是有相同的金额GroupBy()
有一个重载,它需要两个选择器,这将使其更短。另外Sum()
也可以使用选择器。TABLE1.GroupBy(t=>new{t.phamport,t.Amount},t2=>t2.Amount).Sum()
应该这样做。@dotNET您的意思是像.GroupBy(t=>new{t.phastict,t.Amount}).Sum(x=>x.FirstOrDefault().Amount)@Txaran:看我的答案。GroupBy()
有一个重载,需要两个选择器,这会使它变短。Sum()
也可以使用一个选择器。TABLE1.GroupBy(t=>new{t.phamplit,t.Amount},t2=>t2.Amount)。Sum()
应该这样做。@dotNET你是指像.GroupBy(t=>new{t.phamplit,t.Amount}.Sum})这样的东西吗(x=>x.FirstOrDefault().Amount);?@Txaran:看我的答案。