项目有个需求,就是目录要按字母排序,也就是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 } }
微信扫码查看本文
发表评论