Linq分组分两种,一种是表分组汇总,另一种是List<>分组汇总。下面分别举例说明两种分组汇总。
第一种,表的分组汇总:
DataTable table = new DataTable();
table.Columns.Add("列名1", Type.GetType("System.Int32"));
table.Columns.Add("列名2", Type.GetType("System.Int32"));
table.Columns.Add("列名3", Type.GetType("System.String"));
table.Columns.Add("列名4", Type.GetType("System.String"));
table.Columns.Add("列名5", Type.GetType("System.String"));
table.Columns.Add("数值或金额列名", Type.GetType("System.String"));
//为table表赋值
……
//按[列名2]分组汇总
var dtSummary = from q in table.AsEnumerable()
group q by new { 列名2= q.Field<int>("列名2")} into g
select new
{
列名2= g.Key.列名2,
数值或金额汇总列名= g.Sum(a => a.Field<decimal>("数值或金额列名"))
};
第二种,List<>分组汇总:
var listSummary = from p in List<实体>
group p by new { 属性1 = p.属性1 } into g
select new
{
属性1 = g.Key.属性1 ,
数值或金额汇总= g.Sum(a => a.数值或金额属性)
};
————————————————
版权声明:本文为CSDN博主「DevOps-2018」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zjfjifei2008/article/details/17018865