如何有效地将 DataSet.Tables 转换为 List<DataTable>?

Soe*_*hay 5 datatable list dataset c#-3.0

我看到很多关于将 DataSet 中的表转换为 DataRows 或其他行数据列表的帖子,但我找不到有关此问题的任何信息。这就是我想出的使用 .Net 3.0 的方法:

    public static List<DataTable> DataSetToList(DataSet ds)
    {
        List<DataTable> result = new List<DataTable>();

        foreach (DataTable dtbl in ds.Tables)
        {
            result.Add(dtbl);
        }

        return result;
    }
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法,不包括扩展方法?

谢谢

Dav*_*son 8

基于Why LINQ cast with a Data.DataTableCollection这将起作用;

List<DataTable> result = new List<DataTable>(ds.Tables.Cast<DataTable>())
Run Code Online (Sandbox Code Playgroud)


小智 0

IEnumerable<DataTable> sequence = dt.AsEnumerable();
Run Code Online (Sandbox Code Playgroud)

或者

List<DataTable> list = dt.AsEnumerable().ToList();
Run Code Online (Sandbox Code Playgroud)