// 引用 namespace using System.Data; using System.Data.SqlClient; // 建立測試資料 DataTable dt = new DataTable(); dt.Columns.Add("Date",typeof(DateTime)); dt.Rows.Add(new DateTime(2014, 1, 1, 11, 10, 10)); dt.Rows.Add(new DateTime(2014, 1, 2, 12, 10, 10)); dt.Rows.Add(new DateTime(2014, 1, 2, 13, 10, 10)); dt.Rows.Add(new DateTime(2014, 1, 3, 14, 10, 10)); dt.Rows.Add(new DateTime(2014, 1, 4, 15, 10, 10)); // 方法一 var result = (from data in dt.AsEnumerable() select data.Field<DateTime>("Date").Day).Distinct(); // 方法二 var result = dt.AsEnumerable().Select(Data => Data.Field<DateTime>("Date").Day).Distinct(); // 方法三 var result = from data in dt.AsEnumerable() group data by data.Field<DateTime>("Date").Day into o select o.Key; // 方法四 var result = dt.AsEnumerable().GroupBy(data => data.Field<DateTime>("Date").Day).Select(o => o.Key);
星期一, 4月 28, 2014
[LINQ] GroupBy
論壇討論 - DataTable 日期不重複篩選問題,看到有前輩用 Distinct 去解,就想到說用 GroupBy 應該也可以作到同樣的效果,拿來練習一下
沒有留言:
張貼留言