【问题标题】:Sum values on list sorted by Distinct C#按不同 C# 排序的列表上的总和值
【发布时间】:2016-05-23 02:22:35
【问题描述】:

我在 C# 中有一个包含此类数据的列表:

REST CENA 5
REST COMIDAS 3
REST DESAYUNO 4
VIPP CENA 52
VIPP COMIDAS 31
VIPP DESAYUNO 45
REST CENA 2
REST COMIDAS 8
REST DESAYUNO 87
VIPP CENA 12
VIPP COMIDAS 325
VIPP DESAYUNO 21

我希望能够在 HTML 的输入中显示 REST、VIPP、COMIDAS、DESAYUNOS 和 CENA 的所有数据的总和,就像这样

@foreach (var item in Model.Select(l => l.Pdv).Distinct())
<input value="@item">

                                                    }
                                                   @*

但这只会给我 REST 和 VIPP 的值,女巫很好,但我也想像这样总结 REST 和 VIPP 的值

REST 109
VIPP 486

也能得到

CENA 71
COMIDAS 367
DESAYUNO 293

我知道我需要 6 个单独的查询,但我该怎么写呢?

【问题讨论】:

    标签: c# html sql linq list


    【解决方案1】:

    您可以通过GroupBy 做到这一点

    foreach(var item in Model.GroupBy(l => l.Pdv)
                             .Select(g => new 
                                          {
                                              Pdv = g.Key, 
                                              Sum = g.Sum(l => l.WhateverYouAreSumming) 
                                           }))
    

    【讨论】:

    • 而且我的清单上还有一个数量项目,有没有办法将数量乘以数字,然后将所有总数相加来区分?像这样: foreach(Model.GroupBy(l => l.Pdv) .Select(g => new { Pdv = g.Key, Sum = g.Sum(l => l.WhateverYouAreSumming*quantityItem) } 中的变量项)
    • @ArturoMartinez 当然应该看起来像g.Sum(l =&gt; l.Amount * l.Quantity)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    相关资源
    最近更新 更多