用Lambda或者Linq語法對結果進行Group by並輸出
阿新 • • 發佈:2019-02-04
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