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

来源:互联网 发布:辽宁体育频道哪个软件 编辑:程序博客网 时间:2024/05/01 20:34
        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_MapAttribIDSP_SubAttribIDSP_CategoryIDCO1001001C0200003CO300001501001CO1001001C0200002CO300001501001CO1001001C0200001CO300001501001CO0901001C0300002CO300001501001CO0901001C0300001CO300001501001CO0801001C0400003CO300001501001CO0801001C0400002CO300001501001CO0801001C0400001CO300001501001CO0701001C0500001CO300001501001CO0601001C0600001CO300001501001CO0501001C0700001CO300001501001CO0401001C0800002CO300001501001CO0401001C0800001CO300001501001CO0301001C0900001CO300001501001CO0201001C1000001CO300001501001CO0101001C0100005CO300001501001CO0101001C0100004CO300001501001CO0101001C0100003CO300001501001CO0101001C0100002CO300001501001CO0101001C0100001CO300001501001

输出结果:

CO1001001
CO0901001
CO0801001
CO0701001
CO0601001
CO0501001
CO0401001
CO0301001
CO0201001
CO0101001


0 0