有没有什么办法,不确定T类型的情况下把一个datatable转list的方法?换句话说,本人随便给你一个DataTable,列数不确定,列名也不确定,转成list,百度查的全都是先写好T类型然后去判断列名能否存在T的属性。
解决方案
10
List<dynamic>
查下DynamicObject
10
用dynamic
和3楼一样
和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 的明确信息