zoukankan      html  css  js  c++  java
  • linq to datatable group by 多列 实现 .

    1. void Main()  
    2. {  
    3. DataTable dt=new DataTable();  
    4. dt.Columns.Add("flightno");  
    5. dt.Columns.Add("flightTime",typeof(DateTime));  
    6. dt.Columns.Add("arrivalTime",typeof(DateTime));  
    7. dt.Columns.Add("passenger");  
    8. dt.Rows.Add("AU123",Convert.ToDateTime("2010-12-20 12:30"),Convert.ToDateTime("2010-12-20 15:30"),"小Q");  
    9. dt.Rows.Add("AU123",Convert.ToDateTime("2010-12-20 12:30"),Convert.ToDateTime("2010-12-20 15:30"),"小T");  
    10. dt.Rows.Add("AU123",Convert.ToDateTime("2010-10-21 12:00"),Convert.ToDateTime("2010-12-21 14:30"),"小N");  
    11. dt.Rows.Add("AU124",Convert.ToDateTime("2010-10-22 12:00"),Convert.ToDateTime("2010-12-22 11:30"),"小F");  
    12.    
    13.     
    14. var query=from t in dt.AsEnumerable()  
    15.           group t by  new{t1=t.Field<DateTime>("flightTime"),t2=t.Field<DateTime>("arrivalTime")} into m  
    16.           select new  
    17.           {  
    18.           flightno=m.First().Field<string>("flightno"),  
    19.           flightTime=m.Key.t1,  
    20.           arrivalTime=m.Key.t2,  
    21.           passenger=string.Join("/",m.Select(n=>n.Field<string>("passenger")).ToArray()),  
    22.           rowcount=m.Count()  
    23.           };  
    24.   Console.WriteLine("==============输出结果:================");  
    25.   Console.WriteLine("flightno     flightTime               arrivalTime              passenger      rowcount" +"/n");  
    26.    
    27.   query.ToList().ForEach(q=>Console.WriteLine(q.flightno+"    "+q.flightTime.ToString("yyyy-MM-dd HH:mm")+"     "+q.arrivalTime.ToString("yyyy-MM-dd HH:mm")+"    "+q.passenger+"                 "+q.rowcount));  
    28.     
    29.   /* 
    30.   ==============输出结果:================ 
    31. flightno     flightTime               arrivalTime      passenger      rowcount 
    32. AU123    2010-12-20 12:30     2010-12-20 15:30    小Q/小T             2 
    33. AU123    2010-10-21 12:00     2010-12-21 14:30    小N                 1 
    34. AU124    2010-10-22 12:00     2010-12-22 11:30    小F                 1 
    35.   */  
    36. }  

    转载自http://blog.csdn.net/q107770540/article/details/6086577

  • 相关阅读:
    软件工程第二次作业
    软件工程第一次作业
    细说GitHub分支策略和工作流
    第二次结对作业 四则运算生成器
    第一次结对作业
    软件工程第三次作业
    软件工程第二次作业
    软件工程第一次作业
    人工智能第一次作业
    人工智能第二次作业 书上69页作业
  • 原文地址:https://www.cnblogs.com/codeloves/p/2767642.html
Copyright © 2011-2022 走看看