C#DataTable 使用GroupBy方法的lamda 表達式和Linq語句寫法


DataTable ds = new DataTable();

//1、lamda 表達式寫法(推薦)
var result = ds.AsEnumerable().GroupBy(s => new{Year = s.Field<int>("Year"), Month = s.Field<int>("Month"), Day = s.Field<int>("Day")});

//2、Linq寫法 最終編譯器會把它轉化為lamda表達式
//var result = from s in ds.Tables[0].AsEnumerable()
             group s by new { Year = s.Field<int>("Year"), Month = s.Field<int>("Month"), Day = s.Field<int>("Day") } into temp

            select temp;

 

//DataTable 使用GroupBy方法需要注意result為IGrouping<int,DataRow>類型
foreach (var thisGroup in result)
        {
            foreach (var row in thisGroup)
            {
                //遍歷當前這組的所有row
            }
        }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM