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 }