我正在使用ADO.NET和C#,我想将DataTable对象转换为DataRows数组。这样做的优雅方式是什么?
答案 0 :(得分:20)
我的第一个问题是为什么?请求毫无意义。
答案是:
DataRow[] rows = myDataTable.Select();
答案 1 :(得分:2)
实际上DataTable有一个名为Rows的属性,提供了执行此操作的方法。
你可以做到这一点:
List<System.Data.DataRow> r = d.Rows.AsQueryable().OfType<System.Data.DataRow>().ToList();
答案 2 :(得分:1)
DataTable.Select()为您提供了一个DataRows数组。您可以将其用作数组
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函数。也许这也有效。
答案 3 :(得分:0)
如果您希望将内容视为字符串,请使用以下代码:
string.Join(",", dataTable.AsEnumerable().SelectMany(row => row.ItemArray))