对按非重复 C# 排序的列表上的值求和

本文关键字:列表 求和 排序 | 更新日期: 2023-09-27 18:34:21

我在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 和 VIP 的所有值

REST 109
VIPP 486

并且还能够获得

CENA 71
COMIDAS 367
DESAYUNO 293

我知道我需要 6 个单独的查询,但我该如何编写这些查询?

对按非重复 C# 排序的列表上的值求和

你可以

用一个GroupBy来做到这一点

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