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