关闭

C#用DataTable实现Group by数据统计

标签: linqc#
316人阅读 评论(1) 收藏 举报
分类:

使用linq to DataTable group by实现

var query = from t in dt.AsEnumerable()
            group t by new { t1 = t.Field<string>("name"), t2 = t.Field<string>("sex") } into m
            select new
            {
                name = m.Key.t1,
                sex = m.Key.t2,
                score = m.Sum(n => n.Field<decimal>("score"))
            };
if (query.ToList().Count > 0)
{
    query.ToList().ForEach(q =>
    {
        Console.WriteLine(q.name + "," + q.sex + "," + q.score);
    });

} 


衍生使用

public class Student

{

public string name {get;set;}

public string sex {get;set;}

public decimal score {get;set;}

}

List<Student> query = from t in dt.AsEnumerable()
            group t by new { t1 = t.Field<string>("name"), t2 = t.Field<string>("sex") } into m
            select new

    Student
            {
                name = m.Key.t1,
                sex = m.Key.t2,
                score = m.Sum(n => n.Field<decimal>("score"))
            };



1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16883次
    • 积分:412
    • 等级:
    • 排名:千里之外
    • 原创:16篇
    • 转载:49篇
    • 译文:0篇
    • 评论:4条