当前位置: 代码迷 >> ASP.NET >> List<T>怎么拼接成想要的字符串
  详细解决方案

List<T>怎么拼接成想要的字符串

热度:8607   发布时间:2013-02-25 00:00:00.0
List<T>如何拼接成想要的字符串
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;            }        }
  相关解决方案