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