仅需一行代码实现DataRow(s)到DataTable的转换

废话不多说了,直接上代码:

       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以上都有这个方法,希望能够帮到大家,少写点代码。

你可能感兴趣的:(Datatable)