C# 使用C将Datatable转换为List的简单方法

C# 使用C将Datatable转换为List的简单方法,c#,linq,C#,Linq,我试图用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 (Da

我试图用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循环


那么有什么解决方案呢?

使用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()

使用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()
1s谷歌或1s谷歌或