Csharp/C#教程:c#/ Linq总和在哪里分享


c#/ Linq总和在哪里

我有一个表NCR包含格式的数据:

ID | Date | Item | Type | Qty 1 | 01/01/13 | Apple | A | 1 2 | 01/01/13 | Apple | B | 1 3 | 01/01/13 | Orange | C | 1 4 | 01/01/13 | Orange | A | 2 6 | 01/01/13 | Orange | C | 1 

我想生成一个linq查询,它给出了给定日期的类型和总和的摘要,如下所示:

 Item | A | B | C Apple | 1 | 1 | 0 Orange | 2 | 0 | 2 

到目前为止我有这个:

 var q = data.GroupBy(l => l.Item) .Select(g => new { Item = g.Key, Total = g.Sum(c => c.Qty), A = g.Sum(c => c.Type == "A"), B = g.Sum(c => c.Type == "B"), C = g.Sum(c => c.Type == "C") }); 

但是我似乎无法给g.Sum lambda语句提供标准。 如果我使用Count(这是错误的数据)我可以给出critera,但为什么Sum会错过这个? 创建可用数据汇总表的替代方法是什么?

提供给Sum的代表不是谓词; 这是一个选择器。

您是否想要总结Qty属性? 如果是这样,我怀疑你想要:

 A = g.Where(c => c.Type == "A").Sum(c => c.Qty), B = g.Where(c => c.Type == "B").Sum(c => c.Qty), C = g.Where(c => c.Type == "C").Sum(c => c.Qty) 

(或者你也可以按类型分组。)

上述就是C#学习教程:c#/ Linq总和在哪里分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/985047.html

(0)
上一篇 2021年12月21日
下一篇 2021年12月21日

精彩推荐