项目有个需求,就是目录要按字母排序,也就是A下面一堆,B下面一堆。为了性能,肯定不能一遍遍的去数据库查,对吧。什么?你愿意,数据库他不愿意啊,多浪费性能,是吧。所以这个文章就介绍在代码直接对DataTable进行GroupBy处理
直接上代码:
//下面lamda表达式和linq语句任选其一,别直接全复制
//lamda表达式(推荐)
var t_res = ds.Tables[0].AsEnumerable().GroupBy(s => new { zimu = s.Field<string>("zimu") });
//linq
var t_res= from s in ds.Tables[0].AsEnumerable()
group s by new { zimu = s.Field<string>("zimu") } into tmp
select tmp;
foreach (var gitem in t_res)
{
string zimu = gitem.Key.zimu;
foreach (var row in gitem)
{
//这个就是里面所有的row
//直接写你的操作就好,就是正常的datarow
}
}
微信扫码查看本文
发表评论