用Lambda或者Linq语法对结果进行Group by并输出

29 篇文章 0 订阅
        List<SP_CategoryMaping> lst_Attrib = new List<SP_CategoryMaping>();
        DataTable dt_Attrib = new DataTable();
        lst_Attrib = CategoryMapingBLL.GetModelList(9999, 1, "SP_CategoryID='" + dl_selectCategory.SelectedValue + "'", out count);
        if (lst_Attrib.Count == 0)
        {
            Response.Write("此类别中尚未添加属性选项。");
            return;
        }
        //Linq形式
        //var MainAttribList = from a in lst_Attrib
        //                     group a by a.SP_MapAttribID into l
        //                     select new { 
        //                         l.First().SP_MapAttribID
        //                     };
        //Lambda形式
        var MainAttribList = lst_Attrib.GroupBy(x => x.SP_MapAttribID).Select(a => new { a.First().SP_MapAttribID });

        foreach (var m in MainAttribList)
        {
            Response.Write(m.SP_MapAttribID + "<br />");
        }

原结果:

SP_MapAttribID	SP_SubAttribID	SP_CategoryID
CO1001001	C0200003	CO300001501001
CO1001001	C0200002	CO300001501001
CO1001001	C0200001	CO300001501001
CO0901001	C0300002	CO300001501001
CO0901001	C0300001	CO300001501001
CO0801001	C0400003	CO300001501001
CO0801001	C0400002	CO300001501001
CO0801001	C0400001	CO300001501001
CO0701001	C0500001	CO300001501001
CO0601001	C0600001	CO300001501001
CO0501001	C0700001	CO300001501001
CO0401001	C0800002	CO300001501001
CO0401001	C0800001	CO300001501001
CO0301001	C0900001	CO300001501001
CO0201001	C1000001	CO300001501001
CO0101001	C0100005	CO300001501001
CO0101001	C0100004	CO300001501001
CO0101001	C0100003	CO300001501001
CO0101001	C0100002	CO300001501001
CO0101001	C0100001	CO300001501001

输出结果:

CO1001001
CO0901001
CO0801001
CO0701001
CO0601001
CO0501001
CO0401001
CO0301001
CO0201001
CO0101001


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值