c# - 将 DataTable 转换为通用列表

标签 c# list datatable generic-list

<分区>

我在数据服务层有一个下面的方法:

public  DataTable retTable ()
    {            
            DataTable dt = new DataTable();
            adap.Fill(dt);
            return dt;                       

    }

因为我应该在业务层添加(使用数据) namespace 。我想将其更改为:

public List<DataTable> retTable()
    {

        DataTable dt = new DataTable();
        adap.Fill(dt);
        List<DataTable> lst = new List<DataTable>();
        lst.AddRange(dt);
        return lst ;

    }

但是我有错误

lst.AddRange(dt);

我该如何解决?

最佳答案

这样就可以解决问题了

lst.Add(dt);

通过AddRange(dt),您可以添加一组DataTable

但是 DataSet 本身是 DataTable 的集合。那么为什么要使用 List 来重新发明轮子。只需像这样返回 DataSet

public DataSet retSet()
{
    DataSet ds = new DataSet();
    adap.Fill(ds);
    return ds;
}

即使你仍然想返回列表,你也可以这样做

public List<DataTable> retTable()
{
    DataSet dt = new DataSet();
    adap.Fill(ds);
    List<DataTable> lst = new List<DataTable>();
    lst.AddRange(ds.Tables.AsEnumerable());
    return lst;
}

关于c# - 将 DataTable 转换为通用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18426970/

相关文章:

list - Prolog:如何删除列表的第二个元素

r - 与另一列中的变量相比,如何找到 R 列中两两变量之间的共同变量数?

javascript - JQuery 1.4.4 和数据表 1.7 不工作

javascript - 数据表到 div 还是其他?

c# - 使用 C# 将 shapefile(.shp) 转换为 SQL Server 2008?

c# - 如何获取和设置图像的属性项

c# - 在 ASP.NET MVC 中使用分部 View

c++ - 使用 C++ ifsteam 从文件读取到模板 vector

c++ - 查询 std::binary_search()

c# - Quartz.Net - 使用 JobFactory 时如何分配触发器