我正在尝试使用C#将Datatable转换为List
public void GetList()
{
ds = // here my dataset;
List<MasterList> result = new List<MasterList>();
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow dt in ds.Tables[0].Rows)
{
result.Add(new MasterList()
{
Name = Convert.ToString(dt["Name"]),
Address = Convert.ToString(dt["Address"]),
City = Convert.ToString(dt["City"])
});
}
}
}
这段代码工作正常,但我想知道将Datatable转换为List的简单方法,这里使用的是foreach循环。
那么解决方案是什么?
答案 0 :(得分:3)
使用Linq,您可以执行以下操作:
List<MasterList> result = ds.Tables[0].AsEnumerable().Select(dtRow => new MasterList()
{
Name = Convert.ToString(dtRow["Name"]),
Address = Convert.ToString(dtRow["Address"]),
City = Convert.ToString(dtRow["City"])
}).ToList()