Code Bye

DataTable转化为LIST

有没有什么办法,不确定T类型的情况下把一个datatable转list的方法?换句话说,本人随便给你一个DataTable,列数不确定,列名也不确定,转成list,百度查的全都是先写好T类型然后去判断列名能否存在T的属性。
解决方案

10

List<dynamic>

查下DynamicObject

10

用dynamic
和3楼一样

20

当然可以,不过你不知道列名,转换后只能用下标访问了
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("id", typeof(System.Int32)));
            dt.Columns.Add(new DataColumn("name", typeof(System.String)));
            dt.Columns.Add(new DataColumn("address", typeof(System.String)));
            dt.Rows.Add(1, "Dylan", "SZ");
            dt.Rows.Add(2, "Jay", "TW");
            dt.Rows.Add(3, "CQ", "HK");
            var q = (from x in dt.AsEnumerable() select x.ItemArray).ToList();
            foreach (var r in q)
            {
                for (int i = 0; i < r.Length; i++)
                {
                    Console.Write(" {0}", r[i]);
                }
                Console.WriteLine("");
            }


第 10 行开始的代码中,并不需要知道 DataTable 的明确信息


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明DataTable转化为LIST