C# DataTable Lamda GroupBy

 1 static void Main(string[] args)
 2 {
 3     DataTable dt = new DataTable();
 4     dt.Columns.Add("A");
 5     dt.Columns.Add("B");
 6     dt.Columns.Add("C");
 7     dt.Rows.Add("a1", "b1", "c1");
 8     dt.Rows.Add("a1", "b2", "c2");
 9     dt.Rows.Add("a2", "b3", "c3");
10     dt.Rows.Add("a3", "b4", "c4");
11     dt.Rows.Add("a1", "b5", "c5");
12     dt.Rows.Add("a2", "b6", "c6");
13     IEnumerable<IGrouping<string, DataRow>> result = dt.Rows.Cast<DataRow>().GroupBy<DataRow, string>(dr => dr["A"].ToString());//按A分组
14     foreach (IGrouping<string, DataRow> ig in result)
15     {
16         Console.WriteLine("当A="+ig.Key + "");
17         Console.WriteLine("A".PadRight(10) + "B".PadRight(10) + "C".PadRight(10));
18         Console.WriteLine("=====".PadRight(10) + "=====".PadRight(10) + "=====".PadRight(10));
19         foreach (var dr in ig)
20             Console.WriteLine(dr["A"].ToString().PadRight(10) + dr["B"].ToString().PadRight(10) + dr["C"].ToString().PadRight(10));
21 
22     }
23     Console.Read();
24 }
原文地址:https://www.cnblogs.com/szfhquan/p/6528988.html