ADO.NET:将 DataTable 转换为 DataRow 数组

发布于 2024-08-20 05:46:31 字数 71 浏览 4 评论 0原文

我正在使用 ADO.NET 和 C#,并且想要将 DataTable 对象转换为 DataRow 数组。这样做的优雅方法是什么?

I'm using ADO.NET and C#, and I want to convert a DataTable object into an array of DataRows. What is an elegant way of doing this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

装迷糊 2024-08-27 05:46:31

我的第一个问题是为什么?这个要求没有任何意义。

答案是:

DataRow[] rows = myDataTable.Select();

My first question would be why? The request makes no sense.

The answer is:

DataRow[] rows = myDataTable.Select();
○闲身 2024-08-27 05:46:31

实际上,DataTable 有一个名为 Rows 的属性,它提供了执行此操作的方法。

您可以执行以下操作来完成此操作:

List<System.Data.DataRow> r = d.Rows.AsQueryable().OfType<System.Data.DataRow>().ToList();

Actually the DataTable has a property called Rows, witch provides the methods to do this.

You can accomplish this doing:

List<System.Data.DataRow> r = d.Rows.AsQueryable().OfType<System.Data.DataRow>().ToList();
掩耳倾听 2024-08-27 05:46:31

DataTable.Select() 为您提供一个 DataRow 数组。您可以将其用作数组

Dim dt As New DataTable
Dim dr() As DataRow = dt.Select() 

如果您想要 ArrayList,则可以

public ArrayList ConvertDT(ref DataTable dt)
{
        ArrayList converted = new ArrayList(dt.Rows.Count);
        foreach (DataRow row in dt.Rows)
        {
                converted.Add(row);
        }
        return converted;
}

我没有使用 dt.rows.CopyTo 函数。也许这也有效。

DataTable.Select() gives you an array of DataRows. You can use this as an array

Dim dt As New DataTable
Dim dr() As DataRow = dt.Select() 

In case you want an ArrayList, you can

public ArrayList ConvertDT(ref DataTable dt)
{
        ArrayList converted = new ArrayList(dt.Rows.Count);
        foreach (DataRow row in dt.Rows)
        {
                converted.Add(row);
        }
        return converted;
}

I have not used the dt.rows.CopyTo function. maybe that works also.

他夏了夏天 2024-08-27 05:46:31

如果您想以字符串形式查看内容,请使用以下代码:

string.Join(",", dataTable.AsEnumerable().SelectMany(row => row.ItemArray))

If you would like to see the contents as a string, use this code:

string.Join(",", dataTable.AsEnumerable().SelectMany(row => row.ItemArray))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文