- C# code
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>90</td>
<td>88</td>
</tr>
.............................
</table>
?????????????????????????????????????????????????
------解决方案--------------------------------------------------------
这和JSON有一毛钱关系?
楼主要的明显是一个<table>,用来显示的
------解决方案--------------------------------------------------------
string result = @"<table>\r\n<tr><th>...</th></tr>" +
string.Join(@"\r\n", lst_user.Select(x => string.Format("<tr><td>{0}</td><td>{1}</td>...</tr>", x.ClassID, x.UserName, ...)).ToArray()) +
"</table>";
------解决方案--------------------------------------------------------
- C# code
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; } }