將DataTable轉換為List object
所以上網查了一下,發現國外論壇有這樣的方法
紀錄一下吧
論壇提供兩種方法
- 方法1
private List<MyObj> test(DataTable dt)
{
var convertedList = (from dr in dt.AsEnumerable()
select new MyObj()
{
ID = Convert.ToInt32(dr["ID"]),
Name = Convert.ToString(dr["Name"])
}).ToList();
return convertedList;
}
- 方法2
private List<object> GetListByDataTable(DataTable dt)
{
var reult = (from dr in dt.AsEnumerable()
select new
{
Name = Convert.ToString(dr["Name"]),
ID = Convert.ToInt32(dr["ID"])
}).ToList();
return reult.ConvertAll<object>(o => (object)o);
}
另外如果只是要將Datatable的某一個Row轉成string list 可以使用Linq語法如下
List<string> listObj = ds.Tables[0].AsEnumerable()
.Select(r => r.Field("colName"))
.ToList();
沒有留言:
張貼留言