废话不多说了,直接上代码:
public static void Main() { Run(); } public static void Run() { List<DataRow> rows = new List<DataRow> { }; rows.AddRange(CreateTable().Select("ID>1")); //以下是关键代码,IEnumerable<DataRow>的一扩展方法 DataTable newTable = rows.CopyToDataTable(); Console.WriteLine(newTable.Rows.Count);// return 3 } public static DataTable CreateTable() { DataTable table = new DataTable(); table.Columns.Add(new DataColumn("ID",typeof(int))); table.Columns.Add(new DataColumn("Name", typeof(string))); for (int i = 0; i < 5; i++) { DataRow row = table.NewRow(); row[0] = i; row[1] = "name" + i; table.Rows.Add(row); } return table; }
CopyToDataTable方法是IEnumerable<DataRow>的一扩展方法,.NET Framework3.5以上都有这个方法,希望能够帮到大家,少写点代码。