62,071
社区成员
发帖
与我相关
我的任务
分享
public class UserInfo
{
public int ClassID { get; set; }
public string UserName { get; set; }
public int Course { get; set; }
public int Score { get; set; }
public UserInfo(int classid,string username,int course,int score)
{
this.ClassID = classid;
this.UserName = username;
this.Course = course;
this.Score = score;
}
}
protected void Page_Load(object sender, EventArgs e)
{
//语文ID:1 数学ID:2 英语ID:3 计算机ID:4
List<UserInfo> lst_user = new List<UserInfo>();
lst_user.Add(new UserInfo(1,"xiaoming", 1 ,98));
lst_user.Add(new UserInfo(1, "xiaoming", 2 , 88));
lst_user.Add(new UserInfo(1, "xiaoming", 3 , 90));
lst_user.Add(new UserInfo(1, "xiaoming", 4 , 99));
lst_user.Add(new UserInfo(2, "xiaohong", 1 , 98));
lst_user.Add(new UserInfo(2, "xiaohong", 4 , 99));
lst_user.Add(new UserInfo(2, "xiaohong", 3 , 90));
lst_user.Add(new UserInfo(2, "xiaohong", 2 , 88));
lst_user.Add(new UserInfo(3, "xiaoS", 1 , 98));
lst_user.Add(new UserInfo(3, "xiaoS", 3 , 88));
lst_user.Add(new UserInfo(3, "xiaoS", 2 , 70));
lst_user.Add(new UserInfo(3, "xiaoS", 4 , 66));
}
<table>
<tr>
<th>用户ID</th>
<th>用户名</th>
<th>语文</th>
<th>计算机</th>
<th>数学</th>
<th>英语</th>
</tr> <tr><td>1</td><td>xiaoming</td><td>98</td><td>99</td><td>88</td><td>90</td></tr>
<tr><td>2</td><td>xiaohong</td><td>98</td><td>99</td><td>88</td><td>90</td></tr>
<tr><td>3</td><td>xiaoS</td><td>98</td><td>66</td><td>70</td><td>88</td></tr>
</table>
void Main()
{
List<UserInfo> lst_user = new List<UserInfo>();
lst_user.Add(new UserInfo(1,"xiaoming", 1 ,98));
lst_user.Add(new UserInfo(1, "xiaoming", 2 , 88));
lst_user.Add(new UserInfo(1, "xiaoming", 3 , 90));
lst_user.Add(new UserInfo(1, "xiaoming", 4 , 99));
lst_user.Add(new UserInfo(2, "xiaohong", 1 , 98));
lst_user.Add(new UserInfo(2, "xiaohong", 4 , 99));
lst_user.Add(new UserInfo(2, "xiaohong", 3 , 90));
lst_user.Add(new UserInfo(2, "xiaohong", 2 , 88));
lst_user.Add(new UserInfo(3, "xiaoS", 1 , 98));
lst_user.Add(new UserInfo(3, "xiaoS", 3 , 88));
lst_user.Add(new UserInfo(3, "xiaoS", 2 , 70));
lst_user.Add(new UserInfo(3, "xiaoS", 4 , 66));
//语文ID:1 数学ID:2 英语ID:3 计算机ID:4
var query=lst_user.GroupBy(u=>new{u.ClassID,u.UserName})
.Select(g=>new
{
ClassID=g.Key.ClassID,
UserName=g.Key.UserName,
语文=g.FirstOrDefault(x=>x.Course==1).Score,
数学=g.FirstOrDefault(x=>x.Course==2).Score,
英语=g.FirstOrDefault(x=>x.Course==3).Score,
计算机=g.FirstOrDefault(x=>x.Course==4).Score
});
StringBuilder result=new StringBuilder("<table>\r\n");
result.Append(@"<tr>
<th>用户ID</th>
<th>用户名</th>
<th>语文</th>
<th>计算机</th>
<th>数学</th>
<th>英语</th>
</tr> ");
query.ToList().ForEach(u=>result.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td><td>{5}</td></tr>\r\n",
new object[]{u.ClassID,u.UserName,u.语文,u.计算机,u.数学,u.英语}));
result.AppendLine("</table>");
Console.WriteLine(result.ToString());
}
public class UserInfo
{
public int ClassID { get; set; }
public string UserName { get; set; }
public int Course { get; set; }
public int Score { get; set; }
public UserInfo(int classid,string username,int course,int score)
{
this.ClassID = classid;
this.UserName = username;
this.Course = course;
this.Score = score;
}
}