C#Linq分组汇总(转)


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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM