凤凰求蛊
我为样本创建了一个虚拟数据 DataTable dtNew, dt = new DataTable(); dt.Columns.Add("Id", typeof(string)); dt.Columns.Add("Category",typeof(string)); dt.Columns.Add("Type",typeof(string)); dtNew = dt.Clone(); dt.Rows.Add("323021", "Doors", "900"); dt.Rows.Add("323022", "Doors", "900"); dt.Rows.Add("323023", "Doors", "1000"); dt.Rows.Add("323024", "Doors", "1000"); dt.Rows.Add("323025", "Walls", "200"); dt.Rows.Add("323026", "Walls", "200"); dt.Rows.Add("323027", "Walls", "200"); dt.Rows.Add("323028", "Walls", "200"); dt.Rows.Add("323026", "Columns", "300x300"); dt.Rows.Add("323027", "Columns", "300x300"); dt.Rows.Add("323028", "Columns", "500x500");此场景的解决方案 //Case 1: Category and Type var caretoryTypeResult = (from b in dt.AsEnumerable() group b by new { Category = b.Field<string>("Category"), Type = b.Field<string>("Type") } into grpCategoryType select new { grpCategoryType.Key.Category, grpCategoryType.Key.Type, grpCategoryType }).ToList(); caretoryTypeResult.ForEach(list => { var category = list.grpCategoryType.AsEnumerable().Select(m => m.Field<string>("Id")).ToList(); dtNew.Rows.Add(string.Join(",", category), list.Category, list.Type); });希望这段代码有帮助