C#DataTable 使用GroupBy方法的lamda 表示式和Linq語句寫法
阿新 • • 發佈:2018-12-06
DataTable ds = new DataTable();
//1、lamda 表示式寫法(推薦)
var result = ds.AsEnumerable().GroupBy(s => new{Year = s.Field<int>("Year"), Month = s.Field<int>("Month"), Day = s.Field<int>("Day")});
//2、Linq寫法 最終編譯器會把它轉化為lamda表示式
//var result = from s in ds.Tables[0].AsEnumerable()
group s by new { Year = s.Field<int>("Year"), Month = s.Field<int>("Month"), Day = s.Field<int>("Day") } into temp
select temp;
//DataTable 使用GroupBy方法需要注意result為IGrouping<int,DataRow>型別
foreach (var thisGroup in result)
{
foreach (var row in thisGroup)
{
//遍歷當前這組的所有row
}
}