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

posted @ 2013-04-08 09:14  静女  阅读(720)  评论(1编辑  收藏  举报